emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/gc/mkinstalldirs [Boehm-versions]


From: Dave Love
Subject: [Emacs-diffs] Changes to emacs/gc/mkinstalldirs [Boehm-versions]
Date: Mon, 16 Jun 2003 11:20:04 -0400

Index: emacs/gc/mkinstalldirs
diff -c /dev/null emacs/gc/mkinstalldirs:1.2.2.1.2.1
*** /dev/null   Mon Jun 16 11:20:04 2003
--- emacs/gc/mkinstalldirs      Mon Jun 16 11:19:52 2003
***************
*** 0 ****
--- 1,101 ----
+ #! /bin/sh
+ # mkinstalldirs --- make directory hierarchy
+ # Author: Noah Friedman <address@hidden>
+ # Created: 1993-05-16
+ # Public domain
+ 
+ # $Id: mkinstalldirs,v 1.2.2.1.2.1 2003/06/16 15:19:52 fx Exp $
+ 
+ errstatus=0
+ dirmode=""
+ 
+ usage="\
+ 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
+ done
+ 
+ for file
+ do
+   if test -d "$file"; then
+     shift
+   else
+     break
+   fi
+ done
+ 
+ case $# in
+ 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 ;;
+ esac
+ 
+ for file
+ do
+    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
+ 
+      if test ! -d "$pathcomp"; then
+       echo "mkdir $pathcomp"
+ 
+       mkdir "$pathcomp" || lasterr=$?
+ 
+       if test ! -d "$pathcomp"; then
+         errstatus=$lasterr
+       else
+         if test ! -z "$dirmode"; then
+            echo "chmod $dirmode $pathcomp"
+ 
+            lasterr=""
+            chmod "$dirmode" "$pathcomp" || lasterr=$?
+ 
+            if test ! -z "$lasterr"; then
+              errstatus=$lasterr
+            fi
+         fi
+       fi
+      fi
+ 
+      pathcomp="$pathcomp/"
+    done
+ done
+ 
+ exit $errstatus
+ 
+ # Local Variables:
+ # mode: shell-script
+ # sh-indentation: 3
+ # End:
+ # mkinstalldirs ends here




reply via email to

[Prev in Thread] Current Thread [Next in Thread]