Branch: Tag:

1997-07-10

1997-07-10 16:28:38 by Per Hedbor <ph@opera.com>

Misc bugfixes and support for multiple font-direcories

Rev: server/base_server/color.pike:1.9
Rev: server/base_server/config/builders.pike:1.9
Rev: server/base_server/config/low_describers.pike:1.9
Rev: server/base_server/fonts.pike:1.10
Rev: server/base_server/roxen.pike:1.81
Rev: server/base_server/roxenlib.pike:1.29
Rev: server/modules/directories/directories.pike:1.12
Rev: server/modules/filters/htaccess.pike:1.14
Rev: server/modules/graphics/graphic_text.pike:1.48
Rev: server/modules/tags/htmlparse.pike:1.35

1: - string cvs_version = "$Id: roxen.pike,v 1.80 1997/07/06 16:01:17 grubba Exp $"; + string cvs_version = "$Id: roxen.pike,v 1.81 1997/07/10 16:28:30 per Exp $";   #define IN_ROXEN   #include <roxen.h>   #include <config.h>
1676:    };   }    + // return all available fonts. Taken from thef ont_dirs list. + array font_cache; + array available_fonts(int cache) + { +  array res = ({}); +  if(cache && font_cache) return font_cache; +  foreach(QUERY(font_dirs), string dir) +  { +  dir+="32/"; +  array d; +  if(array d = get_dir(dir)) +  { +  foreach(d,string f) +  { +  if(f=="CVS") continue; +  array a; +  if((a=file_stat(dir+f)) && (a[1]==-2)) +  res |= ({ replace(f,"_"," ") }); +  } +  } +  } +  sort(res); +  return font_cache = res; + }    -  +    // Somewhat misnamed, since there can be more then one   // configuration-interface port nowdays. But, anyway, this function   // opens and listens to all configuration interface ports.
2079:    {    werror("Exiting roxen (spurious signals received).\n");    stop_all_modules(); +  exit(0);    kill(getpid(), 9);    kill(0, -9); -  exit(0); +     }       // First kill off all listening sockets..
2096: Inside #if efun(_pipe_debug)
   {    werror("Exiting roxen (all connections closed).\n");    stop_all_modules(); +  exit(0);    kill(getpid(), 9);    kill(0, -9);    perror("Odd. I am not dead yet.\n"); -  exit(0); +     }    }, 0.1);   #endif    call_out(lambda(){    werror("Exiting roxen (timeout).\n");    stop_all_modules(); -  +  exit(0);    kill(getpid(), 9);    kill(0, -9); -  exit(0); +     }, 600, 0); // Slow buggers..   }      void exit_it()   {    perror("Recursive signals.\n"); -  +  exit(0);    kill(getpid(), 9);    kill(0, -9); -  exit(0); +    }      // REMOVE ME