X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=util-linux%2Fswaponoff.c;h=6aafe51a26dde27793cd884ab75d6e43ec7ab2dd;hb=807f0fd637ecc25e60c81e41ad969c177c7df327;hp=bc096ea95a045b4f22c1247c7dfff09a6fbc7725;hpb=e132f4b09e5c9aedaef97f65279e8702633fd425;p=oweals%2Fbusybox.git diff --git a/util-linux/swaponoff.c b/util-linux/swaponoff.c index bc096ea95..6aafe51a2 100644 --- a/util-linux/swaponoff.c +++ b/util-linux/swaponoff.c @@ -3,7 +3,7 @@ * Mini swapon/swapoff implementation for busybox * * - * Copyright (C) 1999 by Lineo, inc. + * Copyright (C) 1999,2000 by Lineo, inc. * Written by Erik Andersen , * * This program is free software; you can redistribute it and/or modify @@ -25,28 +25,15 @@ #include "internal.h" #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\n" - "Stop swapping virtual memory pages on the given device.\n\n" - "Options:\n" - "\t-a\tStop swapping on all swap devices\n"; - -static const char swapon_usage[] = - "swapon [OPTION] [device]\n\n" - "Start swapping virtual memory pages on the given device.\n\n" - "Options:\n" - "\t-a\tStart swapping on all swap devices\n"; +static int whichApp; #define SWAPON_APP 1 #define SWAPOFF_APP 2 @@ -62,7 +49,7 @@ static void swap_enable_disable(char *device) status = swapoff(device); if (status != 0) { - perror(appName); + perror(applet_name); exit(FALSE); } } @@ -77,7 +64,7 @@ static void do_em_all() exit(FALSE); } while ((m = getmntent(f)) != NULL) { - if (!strstr(m->mnt_type, MNTTYPE_SWAP)) { + if (strcmp(m->mnt_type, MNTTYPE_SWAP)==0) { swap_enable_disable(m->mnt_fsname); } } @@ -88,12 +75,9 @@ static void do_em_all() 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; } @@ -108,7 +92,12 @@ extern int swap_on_off_main(int argc, char **argv) while (*++(*argv)) switch (**argv) { case 'a': - whine_if_fstab_is_missing(); + { + struct stat statBuf; + + if (stat("/etc/fstab", &statBuf) < 0) + fatalError("/etc/fstab file missing\n"); + } do_em_all(); break; default: