Patch from Vladimir to move struct applet from busybox.c to applets.c,
[oweals/busybox.git] / uname.c
diff --git a/uname.c b/uname.c
index f1304925db845ac2aea80522b72d6dec6f700793..f7e2291a8f8cc159201568da24bc96a8895d96c2 100644 (file)
--- a/uname.c
+++ b/uname.c
 
 /* Busyboxed by Erik Andersen */
 
-#include "internal.h"
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include <sys/types.h>
 #include <sys/utsname.h>
 
 #if defined (HAVE_SYSINFO) && defined (HAVE_SYS_SYSTEMINFO_H)
 # include <sys/systeminfo.h>
 #endif
-
-
-static const char uname_usage[] =
-       "uname [OPTION]...\n\n"
-#ifndef BB_FEATURE_TRIVIAL_HELP
-       "Print certain system information.  With no OPTION, same as -s.\n\n"
-       "Options:\n"
-       "\t-a\tprint all information\n"
-       "\t-m\tthe machine (hardware) type\n"
-       "\t-n\tprint the machine's network node hostname\n"
-       "\t-r\tprint the operating system release\n"
-       "\t-s\tprint the operating system name\n"
-
-       "\t-p\tprint the host processor type\n"
-       "\t-v\tprint the operating system version\n"
-#endif
-       ;
-
+#include "busybox.h"
 
 static void print_element(unsigned int mask, char *element);
 
 /* Values that are bitwise or'd into `toprint'. */
 /* Operating system name. */
-#define PRINT_SYSNAME 1
+static const int PRINT_SYSNAME = 1;
 
 /* Node name on a communications network. */
-#define PRINT_NODENAME 2
+static const int PRINT_NODENAME = 2;
 
 /* Operating system release. */
-#define PRINT_RELEASE 4
+static const int PRINT_RELEASE = 4;
 
 /* Operating system version. */
-#define PRINT_VERSION 8
+static const int PRINT_VERSION = 8;
 
 /* Machine hardware name. */
-#define PRINT_MACHINE 16
+static const int PRINT_MACHINE = 16;
 
  /* Host processor type. */
-#define PRINT_PROCESSOR 32
+static const int PRINT_PROCESSOR = 32;
 
 /* Mask indicating which elements of the name to print. */
 static unsigned char toprint;
@@ -123,7 +107,7 @@ int uname_main(int argc, char **argv)
                                                   PRINT_MACHINE);
                                break;
                        default:
-                               usage(uname_usage);
+                               show_usage();
                        }
                }
        }
@@ -132,11 +116,11 @@ int uname_main(int argc, char **argv)
                toprint = PRINT_SYSNAME;
 
        if (uname(&name) == -1)
-               perror("cannot get system name");
+               perror_msg("cannot get system name");
 
 #if defined (HAVE_SYSINFO) && defined (SI_ARCHITECTURE)
        if (sysinfo(SI_ARCHITECTURE, processor, sizeof(processor)) == -1)
-               perror("cannot get processor type");
+               perror_msg("cannot get processor type");
 }
 
 #else
@@ -156,7 +140,7 @@ int uname_main(int argc, char **argv)
        print_element(PRINT_MACHINE, name.machine);
        print_element(PRINT_PROCESSOR, processor);
 
-       exit(TRUE);
+       return EXIT_SUCCESS;
 }
 
 /* If the name element set in MASK is selected for printing in `toprint',