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

Reply via email to