X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=duct.c;h=8f7af2cc5e5f7248754c610e20c8702ebf09dbc7;hb=cc9e500c9ae3d74c3735168710a5f1a67bd14f81;hp=a7c487228fdae5a57500bf9266f75e372d0345d9;hpb=12629a26c20d3c5c00b4f71f5c73c304031a303b;p=innduct.git diff --git a/duct.c b/duct.c index a7c4872..8f7af2c 100644 --- a/duct.c +++ b/duct.c @@ -189,7 +189,7 @@ void period(void) { static void vbadusage(const char *fmt, va_list al) NORET_PRINTF(1,0); static void vbadusage(const char *fmt, va_list al) { - char *m= xvasprintf(fmt,al); + char *m= mvasprintf(fmt,al); fprintf(stderr, "bad usage: %s\n" "say --help for help, or read the manpage\n", m); @@ -282,7 +282,7 @@ static void print_options(const Option *options, FILE *f) { const Option *o; for (o=options; o->shrt || o->lng; o++) { char shrt[2] = { o->shrt, 0 }; - char *optspec= xasprintf("%s%s%s%s%s", + char *optspec= masprintf("%s%s%s%s%s", o->shrt ? "-" : "", shrt, o->shrt && o->lng ? "|" : "", DELIMPERHAPS("--", o->lng)); @@ -478,6 +478,7 @@ int main(int argc, char **argv) { convert_to_periods_rndup(&spontaneous_flush_periods); convert_to_periods_rndup(&max_separated_periods); convert_to_periods_rndup(&need_activity_periods); + convert_to_periods_rndup(&stats_log_periods); convert_to_periods_rndup(&lowvol_periods); if (max_bad_data_ratio < 0 || max_bad_data_ratio > 100) @@ -490,19 +491,19 @@ int main(int argc, char **argv) { if (!feedfile) feedfile= sitename; if (!feedfile[0]) badusage("feed filename, if specified, must be nonempty"); if (path_ends_slash(feedfile)) - feedfile= xasprintf("%s%s", feedfile, sitename); + feedfile= masprintf("%s%s", feedfile, sitename); if (feedfile[0] != '/') - feedfile= xasprintf("%s/%s", innconf->pathoutgoing, feedfile); + feedfile= masprintf("%s/%s", innconf->pathoutgoing, feedfile); if (!path_cli) { path_cli_dir= "innduct"; } else if (!path_cli[0] || !strcmp(path_cli,"none")) { path_cli= 0; /* ok, don't then */ } else if (path_ends_slash(path_cli)) { - path_cli_dir= xasprintf("%.*s", strlen(path_cli)-1, path_cli); + path_cli_dir= masprintf("%.*s", strlen(path_cli)-1, path_cli); } if (path_cli_dir) - path_cli= xasprintf("%s/%s", path_cli_dir, sitename); + path_cli= masprintf("%s/%s", path_cli_dir, sitename); if (max_queue_per_ipf<0) max_queue_per_ipf= max_queue_per_conn * 2; @@ -523,11 +524,11 @@ int main(int argc, char **argv) { /* set things up */ - path_lock= xasprintf("%s_lock", feedfile); - path_flushing= xasprintf("%s_flushing", feedfile); - path_defer= xasprintf("%s_defer", feedfile); - path_dump= xasprintf("%s_dump", feedfile); - globpat_backlog= xasprintf("%s_backlog*", feedfile); + path_lock= masprintf("%s_lock", feedfile); + path_flushing= masprintf("%s_flushing", feedfile); + path_defer= masprintf("%s_defer", feedfile); + path_dump= masprintf("%s_dump", feedfile); + globpat_backlog= masprintf("%s_backlog*", feedfile); oop_source_sys *sysloop= oop_sys_new(); if (!sysloop) syscrash("could not create liboop event loop"); @@ -541,7 +542,7 @@ int main(int argc, char **argv) { close(i); } - logv_prefix= xasprintf("%s| ", sitename); + logv_prefix= masprintf("%s| ", sitename); if (interactive < 2) { openlog("innduct",LOG_NDELAY|LOG_PID,LOG_NEWS); logv_use_syslog= 1; @@ -555,13 +556,13 @@ int main(int argc, char **argv) { dup2(null,2); xclose(null, "/dev/null original fd",0); - pid_t child1= xfork("daemonise first fork"); + pid_t child1= xfork_bare("daemonise first fork"); if (child1) _exit(0); pid_t sid= setsid(); if (sid == -1) sysdie("setsid failed"); - pid_t child2= xfork("daemonise second fork"); + pid_t child2= xfork_bare("daemonise second fork"); if (child2) _exit(0); }