From a251cf1721b6cfcca8f8d8bcf357118f97d0e41d Mon Sep 17 00:00:00 2001
From: sof <unknown>
Date: Sun, 18 May 1997 03:52:42 +0000
Subject: [PATCH] [project @ 1997-05-18 03:52:42 by sof] Fixed up

---
 glafp-utils/mkdirhier/mkdirhier.sh | 36 +++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/glafp-utils/mkdirhier/mkdirhier.sh b/glafp-utils/mkdirhier/mkdirhier.sh
index 739535e1189b..3ae24b3c6eb1 100644
--- a/glafp-utils/mkdirhier/mkdirhier.sh
+++ b/glafp-utils/mkdirhier/mkdirhier.sh
@@ -1,24 +1,34 @@
 #!/bin/sh
 
 #
-# create a heirarchy of directories
+# create a hierarchy of directories
 #
+# Based on Noah Friedman's mkinstalldirs..
+#
+errs=0
 
 for f in $*; do
-    parts=`echo $f | sed 's,\(.\)/\(.\),\1 \2,g' | sed 's,/$,,'`;
+    parts=`echo ":$f" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
     path="";
     for p in $parts; do
-	if [ x"$path" = x ]; then
-	    dir=$p;
-	else
-	    dir=$path/$p;
-	fi;
-	if [ ! -d $dir ]; then
-	    echo mkdir $dir; 
-	    mkdir $dir;
-	    chmod a+rx $dir; 
-	fi;
-	path=$dir;
+        path="$path$p"
+        case "$path" in
+          -* ) path=./$path ;;
+        esac
+
+        if test ! -d "$path"; then
+           echo "mkdir $path" 1>&2
+
+           mkdir "$path" || lasterr=$?
+	   
+	   if test ! -d "$path"; then
+	      errs=$lasterr
+           fi 
+        fi
+	path="$path/";
     done;
 done
 
+exit $errs
+
+# end of story
-- 
GitLab