diff toys/posix/rmdir.c @ 653:2986aa63a021

Move commands into "posix", "lsb", and "other" menus/directories.
author Rob Landley <rob@landley.net>
date Sat, 25 Aug 2012 14:25:22 -0500
parents toys/rmdir.c@75a69d5550a0
children 786841fdb1e0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toys/posix/rmdir.c	Sat Aug 25 14:25:22 2012 -0500
@@ -0,0 +1,43 @@
+/* vi: set sw=4 ts=4:
+ *
+ * rmdir.c - remove directory/path
+ *
+ * Copyright 2008 Rob Landley <rob@landley.net>
+ *
+ * See http://opengroup.org/onlinepubs/9699919799/utilities/rmdir.html
+
+USE_RMDIR(NEWTOY(rmdir, "<1p", TOYFLAG_BIN))
+
+config RMDIR
+	bool "rmdir"
+	default y
+	help
+	  usage: rmdir [-p] [dirname...]
+	  Remove one or more directories.
+
+	  -p	Remove path.
+*/
+
+#include "toys.h"
+
+static void do_rmdir(char *name)
+{
+	for (;;) {
+		char *temp;
+
+		if (rmdir(name)) {
+			perror_msg("%s",name);
+			return;
+		}
+		if (!toys.optflags) return;
+		if (!(temp=strrchr(name,'/'))) return;
+		*temp=0;
+	}
+}
+
+void rmdir_main(void)
+{
+	char **s;
+
+	for (s=toys.optargs; *s; s++) do_rmdir(*s);
+}