dhcpd: make -S and -f actually work
diff --git a/include/usage.h b/include/usage.h
index d9e2857..e2686a2 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -3676,6 +3676,7 @@
"[-fS] [configfile]" \
#define udhcpd_full_usage \
+ "DHCP server" \
"\n -f Stay in foreground" \
"\n -S Log to syslog too"
diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c
index d8e80e3..fb42e2f 100644
--- a/networking/udhcp/dhcpd.c
+++ b/networking/udhcp/dhcpd.c
@@ -37,6 +37,7 @@
struct dhcpOfferedAddr *lease, static_lease;
opt = getopt32(argc, argv, "fS");
+ argv += optind;
if (!(opt & 1)) { /* no -f */
bb_daemonize_or_rexec(0, argv);
@@ -50,7 +51,7 @@
/* Would rather not do read_config before daemonization -
* otherwise NOMMU machines will parse config twice */
- read_config(argv[1] ? argv[1] : DHCPD_CONF_FILE);
+ read_config(argv[0] ? argv[0] : DHCPD_CONF_FILE);
/* Make sure fd 0,1,2 are open */
bb_sanitize_stdio();