diff toys/rmdir.c @ 290:d37e2de3a9f3

Add rmdir and test for it.
author Rob Landley <rob@landley.net>
date Sun, 04 May 2008 18:59:16 -0500
parents
children 75a69d5550a0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toys/rmdir.c	Sun May 04 18:59:16 2008 -0500
@@ -0,0 +1,43 @@
+/* vi: set sw=4 ts=4:
+ *
+ * hello.c - A hello world program.
+ *
+ * Copyright 2006 Rob Landley <rob@landley.net>
+ *
+ * See http://www.opengroup.org/onlinepubs/009695399/utilities/cat.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);
+}