xatonum.h: add comment
[oweals/busybox.git] / networking / ipcalc.c
index 685f0e3151c5fc512c9e656abda8a13d606b51db..d7c968c257da88793e4c8a268d4f3396b3e805a9 100644 (file)
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
-#include "busybox.h"
-#include <ctype.h>
 #include <getopt.h>
 #include <sys/socket.h>
 #include <arpa/inet.h>
 
+#include "libbb.h"
+
 #define CLASS_A_NETMASK        ntohl(0xFF000000)
 #define CLASS_B_NETMASK        ntohl(0xFFFF0000)
 #define CLASS_C_NETMASK        ntohl(0xFFFFFF00)
@@ -36,7 +36,7 @@ static unsigned long get_netmask(unsigned long ipaddr)
                return 0;
 }
 
-#ifdef CONFIG_FEATURE_IPCALC_FANCY
+#if ENABLE_FEATURE_IPCALC_FANCY
 static int get_prefix(unsigned long netmask)
 {
        unsigned long msk = 0x80000000;
@@ -63,19 +63,19 @@ int get_prefix(unsigned long netmask);
 #define SILENT    0x20
 
 #if ENABLE_FEATURE_IPCALC_LONG_OPTIONS
-       static const struct option long_options[] = {
-               { "netmask",     no_argument, NULL, 'm' },
-               { "broadcast",   no_argument, NULL, 'b' },
-               { "network",     no_argument, NULL, 'n' },
+       static const char ipcalc_longopts[] ALIGN1 =
+               "netmask\0"   No_argument "m"
+               "broadcast\0" No_argument "b"
+               "network\0"   No_argument "n"
 # if ENABLE_FEATURE_IPCALC_FANCY
-               { "prefix",      no_argument, NULL, 'p' },
-               { "hostname",    no_argument, NULL, 'h' },
-               { "silent",      no_argument, NULL, 's' },
+               "prefix\0"    No_argument "p"
+               "hostname\0"  No_argument "h"
+               "silent\0"    No_argument "s"
 # endif
-               { NULL, 0, NULL, 0 }
-       };
+               ;
 #endif
 
+int ipcalc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ipcalc_main(int argc, char **argv)
 {
        unsigned opt;
@@ -85,9 +85,9 @@ int ipcalc_main(int argc, char **argv)
        char *ipstr;
 
 #if ENABLE_FEATURE_IPCALC_LONG_OPTIONS
-       applet_long_options = long_options;
+       applet_long_options = ipcalc_longopts;
 #endif
-       opt = getopt32(argc, argv, "mbn" USE_FEATURE_IPCALC_FANCY("phs"));
+       opt = getopt32(argv, "mbn" USE_FEATURE_IPCALC_FANCY("phs"));
        argc -= optind;
        argv += optind;
        if (opt & (BROADCAST | NETWORK | NETPREFIX)) {