Changed bb_regcomp to xregcomp and #if 0'ed out destroy_cmd_strs in sed.c
[oweals/busybox.git] / mkswap.c
index 130d24162cc003b4b753c99df07792433b03066f..20096361f9df283e377454c6c7fe9b13b7178b6b 100644 (file)
--- a/mkswap.c
+++ b/mkswap.c
 
 
 static const char mkswap_usage[] =
-       "mkswap [-c] [-v0|-v1] device [block-count]\n\n"
-       "Prepare a disk partition to be used as a swap partition.\n\n"
+       "mkswap [-c] [-v0|-v1] device [block-count]\n"
+#ifndef BB_FEATURE_TRIVIAL_HELP
+       "\nPrepare a disk partition to be used as a swap partition.\n\n"
        "Options:\n" "\t-c\t\tCheck for read-ability.\n"
        "\t-v0\t\tMake version 0 swap [max 128 Megs].\n"
        "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n"
 
-       "\tblock-count\tNumber of block to use (default is entire partition).\n";
+       "\tblock-count\tNumber of block to use (default is entire partition).\n"
+#endif
+       ;
 
 
 #ifndef _IO
@@ -66,7 +69,6 @@ static const char mkswap_usage[] =
 #define BLKGETSIZE _IO(0x12,96)
 #endif
 
-static char *program_name = "mkswap";
 static char *device_name = NULL;
 static int DEV = -1;
 static long PAGES = 0;
@@ -116,7 +118,7 @@ static void init_signature_page()
        if (pagesize != PAGE_SIZE)
                fprintf(stderr, "Assuming pages of size %d\n", pagesize);
 #endif
-       signature_page = (int *) malloc(pagesize);
+       signature_page = (int *) xmalloc(pagesize);
        memset(signature_page, 0, pagesize);
        p = (struct swap_header_v1 *) signature_page;
 }
@@ -202,7 +204,7 @@ static int bit_test_and_clear(unsigned int *addr, unsigned int nr)
 
 void die(const char *str)
 {
-       fprintf(stderr, "%s: %s\n", program_name, str);
+       fprintf(stderr, "%s: %s\n", applet_name, str);
        exit(FALSE);
 }
 
@@ -230,9 +232,7 @@ void check_blocks(void)
        int do_seek = 1;
        char *buffer;
 
-       buffer = malloc(pagesize);
-       if (!buffer)
-               die("Out of memory");
+       buffer = xmalloc(pagesize);
        current_page = 0;
        while (current_page < PAGES) {
                if (!check) {
@@ -315,9 +315,6 @@ int mkswap_main(int argc, char **argv)
        int offset;
        int force = 0;
 
-       if (argc && *argv)
-               program_name = *argv;
-
        init_signature_page();          /* get pagesize */
 
        while (argc-- > 1) {
@@ -349,7 +346,7 @@ int mkswap_main(int argc, char **argv)
        }
        if (!device_name) {
                fprintf(stderr,
-                               "%s: error: Nowhere to set up swap on?\n", program_name);
+                               "%s: error: Nowhere to set up swap on?\n", applet_name);
                usage(mkswap_usage);
        }
        sz = get_size(device_name);
@@ -359,7 +356,7 @@ int mkswap_main(int argc, char **argv)
                fprintf(stderr,
                                "%s: error: "
                                "size %ld is larger than device size %d\n",
-                               program_name,
+                               applet_name,
                                PAGES * (pagesize / 1024), sz * (pagesize / 1024));
                exit(FALSE);
        }
@@ -376,13 +373,13 @@ int mkswap_main(int argc, char **argv)
        }
        if (version != 0 && version != 1) {
                fprintf(stderr, "%s: error: unknown version %d\n",
-                               program_name, version);
+                               applet_name, version);
                usage(mkswap_usage);
        }
        if (PAGES < 10) {
                fprintf(stderr,
                                "%s: error: swap area needs to be at least %ldkB\n",
-                               program_name, (long) (10 * pagesize / 1024));
+                               applet_name, (long) (10 * pagesize / 1024));
                usage(mkswap_usage);
        }
 #if 0
@@ -401,7 +398,7 @@ int mkswap_main(int argc, char **argv)
        if (PAGES > maxpages) {
                PAGES = maxpages;
                fprintf(stderr, "%s: warning: truncating swap area to %ldkB\n",
-                               program_name, PAGES * pagesize / 1024);
+                               applet_name, PAGES * pagesize / 1024);
        }
 
        DEV = open(device_name, O_RDWR);
@@ -431,7 +428,7 @@ int mkswap_main(int argc, char **argv)
 %s: Device '%s' contains a valid Sun disklabel.\n\
 This probably means creating v0 swap would destroy your partition table\n\
 No swap created. If you really want to create swap v0 on that device, use\n\
-the -f option to force it.\n", program_name, device_name);
+the -f option to force it.\n", applet_name, device_name);
                                exit(FALSE);
                        }
                }
@@ -468,5 +465,5 @@ the -f option to force it.\n", program_name, device_name);
         */
        if (fsync(DEV))
                die("fsync failed");
-       exit(TRUE);
+       return(TRUE);
 }