X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=swaponoff.c;h=8a9134ca0075342a8066654ed441da594d770395;hb=9ba0daf4ba3b9a66da7cf396c662f6085852e324;hp=83aadd08a3031e2bd72d894f716ea911b50a63f4;hpb=a42982e8f569417e93bc3b47c501cbe83a5bfade;p=oweals%2Fbusybox.git diff --git a/swaponoff.c b/swaponoff.c index 83aadd08a..8a9134ca0 100644 --- a/swaponoff.c +++ b/swaponoff.c @@ -3,7 +3,7 @@ * Mini swapon/swapoff implementation for busybox * * - * Copyright (C) 1999,2000 by Lineo, inc. + * Copyright (C) 1999,2000,2001 by Lineo, inc. * Written by Erik Andersen , * * This program is free software; you can redistribute it and/or modify @@ -22,40 +22,24 @@ * */ -#include "internal.h" +#include "busybox.h" #include -#include -#include #include #include -#include #include +#include +#include +#include +#include +_syscall2(int, swapon, const char *, path, int, flags); +_syscall1(int, swapoff, const char *, path); -static int whichApp; -static const char *appName; - -static const char swapoff_usage[] = - "swapoff [OPTION] [device]\n" -#ifndef BB_FEATURE_TRIVIAL_HELP - "\nStop swapping virtual memory pages on the given device.\n\n" - "Options:\n" - "\t-a\tStop swapping on all swap devices\n" -#endif - ; - -static const char swapon_usage[] = - "swapon [OPTION] [device]\n" -#ifndef BB_FEATURE_TRIVIAL_HELP - "\nStart swapping virtual memory pages on the given device.\n\n" - "Options:\n" - "\t-a\tStart swapping on all swap devices\n" -#endif - ; +static int whichApp; -#define SWAPON_APP 1 -#define SWAPOFF_APP 2 +static const int SWAPON_APP = 1; +static const int SWAPOFF_APP = 2; static void swap_enable_disable(char *device) @@ -67,10 +51,8 @@ static void swap_enable_disable(char *device) else status = swapoff(device); - if (status != 0) { - perror(appName); - exit(FALSE); - } + if (status != 0) + perror_msg_and_die(applet_name); } static void do_em_all() @@ -78,28 +60,23 @@ static void do_em_all() struct mntent *m; FILE *f = setmntent("/etc/fstab", "r"); - if (f == NULL) { - perror("/etc/fstab"); - exit(FALSE); - } + if (f == NULL) + perror_msg_and_die("/etc/fstab"); while ((m = getmntent(f)) != NULL) { if (strcmp(m->mnt_type, MNTTYPE_SWAP)==0) { swap_enable_disable(m->mnt_fsname); } } endmntent(f); - exit(TRUE); + exit(EXIT_SUCCESS); } extern int swap_on_off_main(int argc, char **argv) { - if (strcmp(*argv, "swapon") == 0) { - appName = *argv; + if (strcmp(applet_name, "swapon") == 0) { whichApp = SWAPON_APP; - } else { - appName = *argv; whichApp = SWAPOFF_APP; } @@ -118,7 +95,7 @@ extern int swap_on_off_main(int argc, char **argv) struct stat statBuf; if (stat("/etc/fstab", &statBuf) < 0) - fatalError("/etc/fstab file missing\n"); + error_msg_and_die("/etc/fstab file missing\n"); } do_em_all(); break; @@ -127,9 +104,8 @@ extern int swap_on_off_main(int argc, char **argv) } } swap_enable_disable(*argv); - exit(TRUE); + return EXIT_SUCCESS; usage_and_exit: usage((whichApp == SWAPON_APP) ? swapon_usage : swapoff_usage); - exit(FALSE); }