1997-07-10
1997-07-10 16:28:38 by Per Hedbor <ph@opera.com>
-
291a80f2f6008dff99bf4b6cd88f6b2684b7923b
(36 lines)
(+31/-5)
[
Show
| Annotate
]
Branch: 5.2
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