changeset 3972:696d97a50341

`do' on separate line, instead of `for var; do'.
author Karl Berry <karl@freefriends.org>
date Thu, 14 Nov 2002 21:06:28 +0000
parents f4da3e55e4d2
children a60a8144ebde
files config/mkinstalldirs
diffstat 1 files changed, 52 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/config/mkinstalldirs
+++ b/config/mkinstalldirs
@@ -8,24 +8,25 @@
 dirmode=""
 
 usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+Usage: mkinstalldirs [-h] [--help] [-m MODE] DIR ..."
 
 # process command line arguments
 while test $# -gt 0 ; do
-   case "${1}" in
-     -h | --help | --h* )			# -h for help
-	echo "${usage}" 1>&2; exit 0 ;;
-     -m )					# -m PERM arg
-	shift
-	test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-	dirmode="${1}"
-	shift ;;
-     -- ) shift; break ;;			# stop option processing
-     -* ) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
-     * )  break ;;				# first non-opt arg
-   esac
+  case "${1}" in
+    -h | --help | --h*)			# -h for help
+      echo "${usage}" 1>&2; exit 0 ;;
+    -m)					# -m PERM arg
+      shift
+      test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
+      dirmode="${1}"
+      shift ;;
+    --) shift; break ;;			# stop option processing
+    -*) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
+     *) break ;;			# first non-opt arg
+  esac
 done
 
+# no `for var; do', it breaks on Solaris 2.7 (at least).
 for file
 do
   if test -d "$file"; then
@@ -36,64 +37,58 @@
 done
 
 case $# in
-0) exit 0 ;;
+  0) exit 0 ;;
 esac
 
 case $dirmode in
-'')
-  if mkdir -p -- . 2>/dev/null; then
-    echo "mkdir -p -- $*"
-    exec mkdir -p -- "$@"
-  fi ;;
-*)
-  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
-    echo "mkdir -m $dirmode -p -- $*"
-    exec mkdir -m "$dirmode" -p -- "$@"
-  fi ;;
+  '')
+    if mkdir -p -- . 2>/dev/null; then
+      echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    fi ;;
+  *)
+    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+      echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    fi ;;
 esac
 
 for file
 do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
+  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+  shift
 
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
+  pathcomp=
+  for d
+  do
+    pathcomp="$pathcomp$d"
+    case "$pathcomp" in
+      -*) pathcomp=./$pathcomp ;;
+    esac
 
-     if test ! -d "$pathcomp"; then
-	echo "mkdir $pathcomp"
+    if test ! -d "$pathcomp"; then
+      echo "mkdir $pathcomp"
 
-	mkdir "$pathcomp" || lasterr=$?
+      mkdir "$pathcomp" || lasterr=$?
 
-	if test ! -d "$pathcomp"; then
-	  errstatus=$lasterr
-	else
-	  if test ! -z "$dirmode"; then
-	     echo "chmod $dirmode $pathcomp"
+      if test ! -d "$pathcomp"; then
+        errstatus=$lasterr
+      else
+        if test ! -z "$dirmode"; then
+          echo "chmod $dirmode $pathcomp"
 
-	     lasterr=""
-	     chmod "$dirmode" "$pathcomp" || lasterr=$?
+          lasterr=""
+          chmod "$dirmode" "$pathcomp" || lasterr=$?
 
-	     if test ! -z "$lasterr"; then
-	       errstatus=$lasterr
-	     fi
-	  fi
-	fi
-     fi
+          if test ! -z "$lasterr"; then
+            errstatus=$lasterr
+          fi
+        fi
+      fi
+    fi
 
-     pathcomp="$pathcomp/"
-   done
+    pathcomp="$pathcomp/"
+  done
 done
 
 exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 3
-# End:
-# mkinstalldirs ends here