X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=swaponoff.c;h=ce0e2c6ccdb2e403c92a508ed116d8e66b414ac0;hb=044228d5ecb9b79397f9fc915d046cf4538281e2;hp=e40d169dde442c9fff1c250fd5e09786f5d91a57;hpb=f57c944e09417edcbcd69f2b01b937cadef39db2;p=oweals%2Fbusybox.git diff --git a/swaponoff.c b/swaponoff.c index e40d169dd..ce0e2c6cc 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,21 +22,28 @@ * */ -#include "busybox.h" #include -#include #include #include #include +#include +#include +#include -_syscall2(int, swapon, const char *, path, int, flags); -_syscall1(int, swapoff, const char *, path); +#if __GNU_LIBRARY__ < 5 +/* libc5 doesn't have sys/swap.h, define these here. */ +extern int swapon (__const char *__path, int __flags); +extern int swapoff (__const char *__path); +#else +#include +#endif +#include "busybox.h" 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) @@ -48,10 +55,8 @@ static void swap_enable_disable(char *device) else status = swapoff(device); - if (status != 0) { - perror(applet_name); - exit(EXIT_FAILURE); - } + if (status != 0) + perror_msg_and_die(applet_name); } static void do_em_all() @@ -59,10 +64,8 @@ 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); @@ -96,7 +99,7 @@ extern int swap_on_off_main(int argc, char **argv) struct stat statBuf; if (stat("/etc/fstab", &statBuf) < 0) - error_msg_and_die("/etc/fstab file missing\n"); + error_msg_and_die("/etc/fstab file missing"); } do_em_all(); break; @@ -108,5 +111,5 @@ extern int swap_on_off_main(int argc, char **argv) return EXIT_SUCCESS; usage_and_exit: - usage((whichApp == SWAPON_APP) ? swapon_usage : swapoff_usage); + show_usage(); }