Fail silently on failure to read tar header, its unfortunate that many tar implementa...
[oweals/busybox.git] / swaponoff.c
index 85f338932c0aee9d51b0ff95867df3528f9ccb82..ce0e2c6ccdb2e403c92a508ed116d8e66b414ac0 100644 (file)
@@ -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 <andersen@lineo.com>, <andersee@debian.org>
  *
  * This program is free software; you can redistribute it and/or modify
  *
  */
 
-#include "busybox.h"
 #include <stdio.h>
-#include <sys/mount.h>
 #include <mntent.h>
 #include <dirent.h>
 #include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/mount.h>
 
-_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 <sys/swap.h>
+#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)
@@ -92,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;
@@ -104,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();
 }