#ifdef reduction.
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -13,24 +13,17 @@ | |
| * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. | |
| */ | |
| - | #include <sys/types.h> |
| #include <sys/ioctl.h> | |
| - | #include <sys/stat.h> |
| #include <ctype.h> | |
| #include <errno.h> | |
| #include <fcntl.h> | |
| #include <getopt.h> | |
| - | #include <stdio.h> |
| - | #include <stdlib.h> |
| #include <signal.h> | |
| #include <string.h> | |
| #include <unistd.h> | |
| - | #include <netinet/in.h> |
| - | #include <netdb.h> |
| #include <sys/socket.h> | |
| - | #include <arpa/inet.h> |
| #include "busybox.h" | |
| @@ -286,6 +279,8 @@ static const struct option ftpgetput_long_options[] = { | |
| {"port", 1, NULL, 'P'}, | |
| {0, 0, 0, 0} | |
| }; | |
| + | #else |
| + | #define ftpgetput_long_options 0 |
| #endif | |
| int ftpgetput_main(int argc, char **argv) | |
| @@ -320,9 +315,9 @@ int ftpgetput_main(int argc, char **argv) | |
| /* | |
| * Decipher the command line | |
| */ | |
| - | #if ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS |
| - | bb_applet_long_options = ftpgetput_long_options; |
| - | #endif |
| + | if (ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS) |
| + | bb_applet_long_options = ftpgetput_long_options; |
| + | |
| opt = bb_getopt_ulflags(argc, argv, "cvu:p:P:", &server->user, &server->password, &port); | |
| /* Process the non-option command line arguments */ | |
| @@ -12,16 +12,12 @@ | |
| * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. | |
| */ | |
| - | #include <stdio.h> |
| - | #include <stdlib.h> |
| + | #include "busybox.h" |
| #include <ctype.h> | |
| #include <getopt.h> | |
| #include <sys/socket.h> | |
| - | #include <netinet/in.h> |
| #include <arpa/inet.h> | |
| - | #include "busybox.h" |
| - | |
| #define IPCALC_MSG(CMD,ALTCMD) if (mode & SILENT) {ALTCMD;} else {CMD;} | |
| #define CLASS_A_NETMASK ntohl(0xFF000000) | |
| @@ -56,6 +52,8 @@ static int get_prefix(unsigned long netmask) | |
| } | |
| return ret; | |
| } | |
| + | #else |
| + | int get_prefix(unsigned long netmask); |
| #endif | |
| #define NETMASK 0x01 | |
| @@ -65,23 +63,6 @@ static int get_prefix(unsigned long netmask) | |
| #define HOSTNAME 0x10 | |
| #define SILENT 0x20 | |
| - | |
| - | int ipcalc_main(int argc, char **argv) |
| - | { |
| - | unsigned long mode; |
| - | |
| - | in_addr_t netmask; |
| - | in_addr_t broadcast; |
| - | in_addr_t network; |
| - | in_addr_t ipaddr; |
| - | struct in_addr a; |
| - | |
| - | #ifdef CONFIG_FEATURE_IPCALC_FANCY |
| - | unsigned long netprefix = 0; |
| - | int have_netmask = 0; |
| - | char *ipstr, *prefixstr; |
| - | #endif |
| - | |
| #if ENABLE_FEATURE_IPCALC_LONG_OPTIONS | |
| static const struct option long_options[] = { | |
| {"netmask", no_argument, NULL, 'm'}, | |
| @@ -94,16 +75,24 @@ int ipcalc_main(int argc, char **argv) | |
| #endif | |
| {NULL, 0, NULL, 0} | |
| }; | |
| - | |
| - | bb_applet_long_options = long_options; |
| - | #endif |
| - | mode = bb_getopt_ulflags(argc, argv, |
| - | #ifdef CONFIG_FEATURE_IPCALC_FANCY |
| - | "mbnphs" |
| #else | |
| - | "mbn" |
| + | #define long_options 0 |
| #endif | |
| - | ); |
| + | |
| + | |
| + | |
| + | int ipcalc_main(int argc, char **argv) |
| + | { |
| + | unsigned long mode; |
| + | int have_netmask = 0; |
| + | in_addr_t netmask, broadcast, network, ipaddr; |
| + | struct in_addr a; |
| + | char *ipstr; |
| + | |
| + | if (ENABLE_FEATURE_IPCALC_LONG_OPTIONS) |
| + | bb_applet_long_options = long_options; |
| + | |
| + | mode = bb_getopt_ulflags(argc, argv, "mbn" USE_FEATURE_IPCALC_FANCY("phs")); |
| argc -= optind; | |
| argv += optind; | |
| @@ -115,40 +104,42 @@ int ipcalc_main(int argc, char **argv) | |
| bb_show_usage(); | |
| } | |
| - | #ifdef CONFIG_FEATURE_IPCALC_FANCY |
| - | prefixstr = ipstr = argv[0]; |
| - | |
| - | while(*prefixstr) { |
| - | if (*prefixstr == '/') { |
| - | *prefixstr = (char)0; |
| - | prefixstr++; |
| - | if (*prefixstr) { |
| - | unsigned int msk; |
| - | |
| - | if (safe_strtoul(prefixstr, &netprefix) || netprefix > 32) { |
| - | IPCALC_MSG(bb_error_msg_and_die("bad IP prefix: %s\n", prefixstr), |
| - | exit(EXIT_FAILURE)); |
| - | } |
| - | netmask = 0; |
| - | msk = 0x80000000; |
| - | while (netprefix > 0) { |
| - | netmask |= msk; |
| - | msk >>= 1; |
| - | netprefix--; |
| + | ipstr = argv[0]; |
| + | if (ENABLE_FEATURE_IPCALC_FANCY) { |
| + | unsigned long netprefix = 0; |
| + | char *prefixstr; |
| + | |
| + | prefixstr = ipstr; |
| + | |
| + | while(*prefixstr) { |
| + | if (*prefixstr == '/') { |
| + | *prefixstr = (char)0; |
| + | prefixstr++; |
| + | if (*prefixstr) { |
| + | unsigned int msk; |
| + | |
| + | if (safe_strtoul(prefixstr, &netprefix) || netprefix > 32) { |
| + | IPCALC_MSG(bb_error_msg_and_die("bad IP prefix: %s\n", prefixstr), |
| + | exit(EXIT_FAILURE)); |
| + | } |
| + | netmask = 0; |
| + | msk = 0x80000000; |
| + | while (netprefix > 0) { |
| + | netmask |= msk; |
| + | msk >>= 1; |
| + | netprefix--; |
| + | } |
| + | netmask = htonl(netmask); |
| + | /* Even if it was 0, we will signify that we have a netmask. This allows */ |
| + | /* for specification of default routes, etc which have a 0 netmask/prefix */ |
| + | have_netmask = 1; |
| } | |
| - | netmask = htonl(netmask); |
| - | /* Even if it was 0, we will signify that we have a netmask. This allows */ |
| - | /* for specification of default routes, etc which have a 0 netmask/prefix */ |
| - | have_netmask = 1; |
| + | break; |
| } | |
| - | break; |
| + | prefixstr++; |
| } | |
| - | prefixstr++; |
| } | |
| ipaddr = inet_aton(ipstr, &a); | |
| - | #else |
| - | ipaddr = inet_aton(argv[0], &a); |
| - | #endif |
| if (ipaddr == 0) { | |
| IPCALC_MSG(bb_error_msg_and_die("bad IP address: %s", argv[0]), | |
| @@ -157,13 +148,11 @@ int ipcalc_main(int argc, char **argv) | |
| ipaddr = a.s_addr; | |
| if (argc == 2) { | |
| - | #ifdef CONFIG_FEATURE_IPCALC_FANCY |
| - | if (have_netmask) { |
| - | IPCALC_MSG(bb_error_msg_and_die("Both prefix and netmask were specified, use one or the other.\n"), |
| + | if (ENABLE_FEATURE_IPCALC_FANCY && have_netmask) { |
| + | IPCALC_MSG(bb_error_msg_and_die("Use prefix or netmask, not both.\n"), |
| exit(EXIT_FAILURE)); | |
| } | |
| - | #endif |
| netmask = inet_aton(argv[1], &a); | |
| if (netmask == 0) { | |
| IPCALC_MSG(bb_error_msg_and_die("bad netmask: %s", argv[1]), | |
| @@ -171,11 +160,9 @@ int ipcalc_main(int argc, char **argv) | |
| } | |
| netmask = a.s_addr; | |
| } else { | |
| - | #ifdef CONFIG_FEATURE_IPCALC_FANCY |
| - | if (!have_netmask) |
| - | #endif |
| - | /* JHC - If the netmask wasn't provided then calculate it */ |
| + | /* JHC - If the netmask wasn't provided then calculate it */ |
| + | if (!ENABLE_FEATURE_IPCALC_FANCY || !have_netmask) |
| netmask = get_netmask(ipaddr); | |
| } | |
| @@ -193,28 +180,28 @@ int ipcalc_main(int argc, char **argv) | |
| printf("NETWORK=%s\n", inet_ntoa((*(struct in_addr *) &network))); | |
| } | |
| - | #ifdef CONFIG_FEATURE_IPCALC_FANCY |
| - | if (mode & NETPREFIX) { |
| - | printf("PREFIX=%i\n", get_prefix(netmask)); |
| - | } |
| + | if (ENABLE_FEATURE_IPCALC_FANCY) { |
| + | if (mode & NETPREFIX) { |
| + | printf("PREFIX=%i\n", get_prefix(netmask)); |
| + | } |
| - | if (mode & HOSTNAME) { |
| - | struct hostent *hostinfo; |
| - | int x; |
| + | if (mode & HOSTNAME) { |
| + | struct hostent *hostinfo; |
| + | int x; |
| - | hostinfo = gethostbyaddr((char *) &ipaddr, sizeof(ipaddr), AF_INET); |
| - | if (!hostinfo) { |
| - | IPCALC_MSG(bb_herror_msg_and_die( |
| - | "cannot find hostname for %s", argv[0]),); |
| - | exit(EXIT_FAILURE); |
| - | } |
| - | for (x = 0; hostinfo->h_name[x]; x++) { |
| - | hostinfo->h_name[x] = tolower(hostinfo->h_name[x]); |
| - | } |
| + | hostinfo = gethostbyaddr((char *) &ipaddr, sizeof(ipaddr), AF_INET); |
| + | if (!hostinfo) { |
| + | IPCALC_MSG(bb_herror_msg_and_die( |
| + | "cannot find hostname for %s", argv[0]),); |
| + | exit(EXIT_FAILURE); |
| + | } |
| + | for (x = 0; hostinfo->h_name[x]; x++) { |
| + | hostinfo->h_name[x] = tolower(hostinfo->h_name[x]); |
| + | } |
| - | printf("HOSTNAME=%s\n", hostinfo->h_name); |
| + | printf("HOSTNAME=%s\n", hostinfo->h_name); |
| + | } |
| } | |
| - | #endif |
| return EXIT_SUCCESS; | |
| } | |