unlink: new applet
authorIsaac Dunham <ibid.ag@gmail.com>
Sun, 22 Jun 2014 18:44:25 +0000 (20:44 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 22 Jun 2014 18:44:25 +0000 (20:44 +0200)
function                                             old     new   delta
unlink_main                                            -      45     +45
packed_usage                                       29667   29686     +19

Signed-off-by: Isaac Dunham <ibid.ag@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
coreutils/unlink.c [new file with mode: 0644]

diff --git a/coreutils/unlink.c b/coreutils/unlink.c
new file mode 100644 (file)
index 0000000..3b7d0fb
--- /dev/null
@@ -0,0 +1,34 @@
+/* vi: set sw=4 ts=4: */
+/* unlink for busybox
+ *
+ * Copyright (C) 2014 Isaac Dunham <ibid.ag@gmail.com>
+ *
+ * Licensed under GPLv2, see LICENSE in this source tree
+ */
+
+//config:config UNLINK
+//config:      bool "unlink"
+//config:      default y
+//config:      help
+//config:        unlink deletes a file by calling unlink()
+
+//kbuild:lib-$(CONFIG_UNLINK) += unlink.o
+
+//applet:IF_UNLINK(APPLET(unlink, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//usage:#define unlink_trivial_usage
+//usage:       "FILE"
+//usage:#define unlink_full_usage "\n\n"
+//usage:       "Delete FILE by calling unlink()"
+
+#include "libbb.h"
+
+int unlink_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int unlink_main(int argc UNUSED_PARAM, char **argv)
+{
+       opt_complementary = "=1"; /* must have exactly 1 param */
+       getopt32(argv, "");
+       argv += optind;
+       xunlink(argv[0]);
+       return 0;
+}