--- networking/udhcp/dhcpc.c.~1~ 2008-06-14 19:37:37.000000000 +0200 +++ networking/udhcp/dhcpc.c 2008-06-14 20:24:20.000000000 +0200 @@ -169,12 +169,8 @@ "no-default-options\0" No_argument "o" "foreground\0" No_argument "f" "background\0" No_argument "b" -#if ENABLE_FEATURE_UDHCPC_ARPING - "arping\0" No_argument "a" -#endif -#if ENABLE_FEATURE_UDHCP_PORT - "client-port\0" Required_argument "P" -#endif + USE_FEATURE_UDHCPC_ARPING("arping\0" No_argument "a") + USE_FEATURE_UDHCP_PORT("client-port\0" Required_argument "P") ; #endif enum { @@ -201,40 +197,26 @@ OPT_f = 1 << 20, /* The rest has variable bit positions, need to be clever */ OPTBIT_f = 20, -#if BB_MMU - OPTBIT_b, -#endif -#if ENABLE_FEATURE_UDHCPC_ARPING - OPTBIT_a, -#endif -#if ENABLE_FEATURE_UDHCP_PORT - OPTBIT_P, -#endif -#if BB_MMU - OPT_b = 1 << OPTBIT_b, -#endif -#if ENABLE_FEATURE_UDHCPC_ARPING - OPT_a = 1 << OPTBIT_a, -#endif -#if ENABLE_FEATURE_UDHCP_PORT - OPT_P = 1 << OPTBIT_P, -#endif + USE_FOR_MMU(OPTBIT_b,) + USE_FEATURE_UDHCPC_ARPING(OPTBIT_a,) + USE_FEATURE_UDHCP_PORT(OPTBIT_P,) + USE_FOR_MMU(OPT_b = 1 << OPTBIT_b,) + USE_FEATURE_UDHCPC_ARPING(OPT_a = 1 << OPTBIT_a,) + USE_FEATURE_UDHCP_PORT(OPT_P = 1 << OPTBIT_P,) }; /* Default options. */ -#if ENABLE_FEATURE_UDHCP_PORT - SERVER_PORT = 67; - CLIENT_PORT = 68; -#endif + USE_FEATURE_UDHCP_PORT( + SERVER_PORT = 67; + CLIENT_PORT = 68; + ) client_config.interface = "eth0"; client_config.script = DEFAULT_SCRIPT; /* Parse command line */ /* Cc: mutually exclusive; O: list; -T,-t,-A take numeric param */ opt_complementary = "c--C:C--c:O::T+:t+:A+"; -#if ENABLE_GETOPT_LONG - applet_long_options = udhcpc_longopts; -#endif + USE_GETOPT_LONG(applet_long_options = udhcpc_longopts;) opt = getopt32(argv, "c:CV:H:h:F:i:np:qRr:s:T:t:vSA:O:of" USE_FOR_MMU("b") USE_FEATURE_UDHCPC_ARPING("a") @@ -270,12 +252,12 @@ puts("version "BB_VER); return 0; } -#if ENABLE_FEATURE_UDHCP_PORT - if (opt & OPT_P) { - CLIENT_PORT = xatou16(str_P); - SERVER_PORT = CLIENT_PORT - 1; - } -#endif + USE_FEATURE_UDHCP_PORT( + if (opt & OPT_P) { + CLIENT_PORT = xatou16(str_P); + SERVER_PORT = CLIENT_PORT - 1; + } + ) if (opt & OPT_o) client_config.no_default_options = 1; while (list_O) { @@ -543,7 +525,7 @@ if (lease_seconds < 10) /* and not too small */ lease_seconds = 10; } -#if ENABLE_FEATURE_UDHCPC_ARPING + USE_FEATURE_UDHCPC_ARPING( if (opt & OPT_a) { if (!arpping(packet.yiaddr, (uint32_t) 0, @@ -565,7 +547,7 @@ continue; /* back to main loop */ } } -#endif + ) /* enter bound state */ timeout = lease_seconds / 2; {