Add flag to run in foreground - sdhcp - simple dhcp client
 (HTM) git clone git://git.codemadness.org/sdhcp
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 6453b6d68c6452bb0731b3250e308d4e6750dbec
 (DIR) parent 4716991b7cf1cf79d3ddf27b16690ccb37e863b7
 (HTM) Author: Michael Forney <mforney@mforney.org>
       Date:   Mon, 27 Apr 2015 01:00:03 +0000
       
       Add flag to run in foreground
       
       Diffstat:
         M sdhcp.1                             |       3 +++
         M sdhcp.c                             |       8 ++++++--
       
       2 files changed, 9 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/sdhcp.1 b/sdhcp.1
       @@ -28,6 +28,9 @@ don't change interface information such as an IP address.
        .TP
        .B "\-e program"
        run program. Variables will be set, see VARIABLES.
       +.TP
       +.B \-f
       +run in foreground.
        .SH VARIABLES
        .LP
        The following variables are set:
 (DIR) diff --git a/sdhcp.c b/sdhcp.c
       @@ -97,6 +97,7 @@ static unsigned long t1;
        
        static int dflag = 1; /* change DNS in /etc/resolv.conf ? */
        static int iflag = 1; /* set IP ? */
       +static int fflag = 0; /* run in foreground */
        
        #define IP(a,b,c,d) (unsigned char[4]){a,b,c,d}
        
       @@ -392,7 +393,7 @@ Requesting:
                }
        Bound:
                fputs("Congrats! You should be on the 'net.\n", stdout);
       -        if(!forked) {
       +        if(!fflag && !forked) {
                        if(fork())
                                exit(EXIT_SUCCESS);
                        forked = 1;
       @@ -439,7 +440,7 @@ static void cleanexit(int unused) {
        
        static void
        usage(void) {
       -        eprintf("usage: sdhcp [-i] [-d] [-e program] [ifname] [clientid]\n");
       +        eprintf("usage: sdhcp [-i] [-d] [-f] [-e program] [ifname] [clientid]\n");
        }
        
        int
       @@ -460,6 +461,9 @@ main(int argc, char *argv[])
                case 'd': /* don't update DNS in/etc/resolv.conf */
                        dflag = 0;
                        break;
       +        case 'f': /* run in foreground */
       +                fflag = 1;
       +                break;
                default:
                        usage();
                        break;