Hi Ian,
I see that almost everything is in place for this to work, only
actual option handling is missing.
I added it and it works (run-tested).
Please apply attached patch
(should apply on top of autofs-5.0.0_beta1-fg.patch).
--
vda
diff -d -urpN autofs-5.0.0_beta1-fg/daemon/automount.c autofs-5.0.0_beta1-stderr/daemon/automount.c
--- autofs-5.0.0_beta1-fg/daemon/automount.c 2007-09-26 10:27:30.000000000 +0100
+++ autofs-5.0.0_beta1-stderr/daemon/automount.c 2007-09-26 10:24:17.000000000 +0100
@@ -719,12 +719,12 @@ static int handle_packet(struct autofs_p
return -1;
}
+static unsigned char to_stderr;
static void become_daemon(unsigned foreground)
{
FILE *pidfp;
char buf[MAX_ERR_BUF];
- unsigned to_stderr = 0;
pid_t pid;
/* Don't BUSY any directories unnecessarily */
@@ -1282,6 +1282,7 @@ static void usage(void)
" -v --verbose be verbose\n"
" -d --debug log debuging info\n"
" -f --foreground do not fork into background\n"
+ " -s --stderr log to stderr instead of syslog\n"
" -V --version print version and exit\n"
, program);
}
@@ -1302,6 +1303,7 @@ int main(int argc, char *argv[])
{"verbose", 0, 0, 'v'},
{"debug", 0, 0, 'd'},
{"foreground", 0, 0, 'f'},
+ {"stderr", 0, 0, 's'},
{"version", 0, 0, 'V'},
{0, 0, 0, 0}
};
@@ -1318,7 +1320,7 @@ int main(int argc, char *argv[])
foreground = 0;
opterr = 0;
- while ((opt = getopt_long(argc, argv, "+hp:t:vdfV", long_options, NULL)) != EOF) {
+ while ((opt = getopt_long(argc, argv, "+hp:t:vdfsV", long_options, NULL)) != EOF) {
switch (opt) {
case 'h':
usage();
@@ -1344,6 +1346,10 @@ int main(int argc, char *argv[])
foreground = 1;
break;
+ case 's':
+ to_stderr = 1;
+ break;
+
case 'V':
printf("Linux automount version %s\n", version);
exit(0);
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs