diff --git a/include/usage.h b/include/usage.h index d9e2857e8..e2686a2b4 100644 --- a/include/usage.h +++ b/include/usage.h @@ -3676,6 +3676,7 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when "[-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 d8e80e30d..fb42e2f73 100644 --- a/networking/udhcp/dhcpd.c +++ b/networking/udhcp/dhcpd.c @@ -37,6 +37,7 @@ int udhcpd_main(int argc, char **argv) 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 @@ int udhcpd_main(int argc, char **argv) /* 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();