+
+ va_end(ap_orig);
+}
+
+static void close_logfile(void)
+{
+ if(logfile) fclose(logfile);
+}
+
+extern "C" void set_log_file(const char *fname)
+{
+ static int init_once;
+
+ close_logfile();
+ logfile = fopen(fname, "w");
+
+ if(!init_once) {
+ atexit(close_logfile);
+ init_once = 1;
+ }