dhcpd: make -S and -f actually work
authorDenis Vlasenko <vda.linux@googlemail.com>
Wed, 15 Aug 2007 20:03:36 +0000 (20:03 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Wed, 15 Aug 2007 20:03:36 +0000 (20:03 -0000)
include/usage.h
networking/udhcp/dhcpd.c

index d9e2857e85f6203283f4604bce7a04a5f259ebb5..e2686a2b4767d58acd5bfac77325fce958ea254b 100644 (file)
@@ -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"
 
index d8e80e30d38f8b1fec38036e57f69bb968ca5bd8..fb42e2f735007ec5464978916b3dbac5947ed4fb 100644 (file)
@@ -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();