From: sof Date: Sun, 18 May 1997 03:52:42 +0000 (+0000) Subject: [project @ 1997-05-18 03:52:42 by sof] X-Git-Tag: Approximately_1000_patches_recorded~698 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=a251cf1721b6cfcca8f8d8bcf357118f97d0e41d;p=ghc-hetmet.git [project @ 1997-05-18 03:52:42 by sof] Fixed up --- diff --git a/glafp-utils/mkdirhier/mkdirhier.sh b/glafp-utils/mkdirhier/mkdirhier.sh index 739535e..3ae24b3 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