X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=inn-innduct.git;a=blobdiff_plain;f=backends%2Finnduct.c;h=b6984eaeb89cea752c54c0264e143bb174bb1f18;hp=afe94172da08bae01136d9bd335f96ad1b84cd48;hb=03afab2d8ef7b2f62424cf96192d378ca15e8ad4;hpb=a47eafd3860513c1dd61a75abc413e6bd1b5b3f9;ds=sidebyside diff --git a/backends/innduct.c b/backends/innduct.c index afe9417..b6984ea 100644 --- a/backends/innduct.c +++ b/backends/innduct.c @@ -356,7 +356,7 @@ static oop_rd_call peer_rd_err, peer_rd_ok; /* when changing defaults, remember to update the manpage */ static const char *sitename, *remote_host; -static const char *feedfile, *path_cli, *path_cli_dir; +static const char *feedfile, *path_run, *path_cli, *path_cli_dir; static int quiet_multiple=0; static int become_daemon=1, try_filemon=1; static int try_stream=1; @@ -3572,6 +3572,7 @@ static const Option innduct_options[]= { {0,"no-filemon", 0, &try_filemon, op_setint, 0 }, {'C',"inndconf", "F", &inndconffile, op_string }, {'P',"port", "PORT", &port, op_integer }, +{0,"chdir", "DIR", &path_run, op_string }, {0,"cli", "DIR/|PATH", &path_cli, op_string }, {0,"help", 0, 0, help }, @@ -3669,7 +3670,10 @@ int main(int argc, char **argv) { if (max_bad_data_ratio < 0 || max_bad_data_ratio > 100) badusage("bad input data ratio must be between 0..100"); max_bad_data_ratio *= 0.01; - + + if (!path_run) + path_run= innconf->pathrun; + if (!feedfile) { feedfile= xasprintf("%s/%s",innconf->pathoutgoing,sitename); } else if (!feedfile[0]) { @@ -3679,7 +3683,7 @@ int main(int argc, char **argv) { } if (!path_cli) { - path_cli_dir= xasprintf("%s/innduct", innconf->pathrun); + 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)) { @@ -3699,6 +3703,9 @@ int main(int argc, char **argv) { /* set things up */ + r= chdir(path_run); + if (r) sysdie("could not chdir to pathrun %s", path_run); + path_lock= xasprintf("%s_lock", feedfile); path_flushing= xasprintf("%s_flushing", feedfile); path_defer= xasprintf("%s_defer", feedfile);