[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/gc/mkinstalldirs [Boehm-versions],
Dave Love <=