groups: make it NOEXEC
[oweals/busybox.git] / coreutils / sync.c
index 572d749245972afa18ff1c42586400e72829f4e5..7d98a1e301fa1dfe19da08793476a16369e5778c 100644 (file)
@@ -1,13 +1,30 @@
-#include "internal.h"
-#include <stdio.h>
+/* vi: set sw=4 ts=4: */
+/*
+ * Mini sync implementation for busybox
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
+ */
 
-extern int
-sync_main(int argc, char * * argv)
+/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
+
+//usage:#define sync_trivial_usage
+//usage:       ""
+//usage:#define sync_full_usage "\n\n"
+//usage:       "Write all buffered blocks to disk"
+
+#include "libbb.h"
+
+/* This is a NOFORK applet. Be very careful! */
+
+int sync_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int sync_main(int argc UNUSED_PARAM, char **argv IF_NOT_DESKTOP(UNUSED_PARAM))
 {
-    if ( **(argv+1) == '-' ) {
-       fprintf(stderr, "Usage: sync\nWrite all buffered filesystem blocks to disk.\n");
-       exit(FALSE);
-    }
-       return sync();
-}
+       /* coreutils-6.9 compat */
+       bb_warn_ignoring_args(argv[1]);
+
+       sync();
 
+       return EXIT_SUCCESS;
+}