[ksh93-integration-discuss] Adding "-s" (="suppress") switch to ksh93/libcmd's "rmdir" buildin...

Roland Mainz roland.mainz at nrubsig.org
Mon Aug 21 08:06:31 PDT 2006


Hi!

----

Attached is a patch
("ksh93_libcmd_rmdir_add_s_suppress_switch001.diff.txt") which adds a
"-s" switch (to "suppress" error messages when "-p" is used) for
compatibility with the native Solaris version of /usr/bin/rmdir ...

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)
-------------- next part --------------
Index: src/lib/libcmd/common/rmdir.c
===================================================================
--- src/lib/libcmd/common/rmdir.c	(revision 394)
+++ src/lib/libcmd/common/rmdir.c	(working copy)
@@ -38,6 +38,8 @@
 	"to remove it.]"
 "[p:parents?Remove each explicit \adirectory\a argument directory that "
 	"becomes empty after its child directories are removed.]"
+"[s:suppress?Suppress the message printed on the standard error when "
+        "\b-p\b is in effect. ]"
 "\n"
 "\ndirectory ...\n"
 "\n"
@@ -45,7 +47,7 @@
         "[+0?All directories deleted successfully.]"
         "[+>0?One or more directories could not be deleted.]"
 "}"
-"[+SEE ALSO?\bmkdir\b(1), \brm\b(1)]"
+"[+SEE ALSO?\bmkdir\b(1), \brm\b(1), \brmdir\b(2), \bunlink\b(2)]"
 ;
 
 #include <cmdlib.h>
@@ -56,7 +58,8 @@
 	register char*	dir;
 	register char*	end;
 	register int	n;
-	int		pflag = 0;
+	int		pflag = 0,
+			sflag = 0;
 
 	NoP(argc);
 	cmdinit(argv, context, ERROR_CATALOG, 0);
@@ -65,6 +68,9 @@
 	case 'p':
 		pflag = 1;
 		break;
+	case 's':
+		sflag = 1;
+		break;
 	case ':':
 		error(2, "%s", opt_info.arg);
 		break;
@@ -84,8 +90,11 @@
 		{
 			if (rmdir(dir) < 0)
 			{
-				error(ERROR_system(0), "%s: cannot remove", dir);
-				break;
+				if (!(sflag && pflag))
+				{
+					error(ERROR_system(0), "%s: cannot remove", dir);
+					break;
+				}
 			}
 			if (n) *end = '/';
 			else n = 1;


More information about the ksh93-integration-discuss mailing list