ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/mkinstalldirs
(Generate patch)

Comparing BasiliskII/src/Unix/mkinstalldirs (file contents):
Revision 1.2 by cebix, 2001-09-18T17:16:47Z vs.
Revision 1.3 by cebix, 2003-06-27T13:59:16Z

# Line 4 | Line 4
4   # Created: 1993-05-16
5   # Public domain
6  
7 # $Id$
8
7   errstatus=0
8 + dirmode=""
9 +
10 + usage="\
11 + Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
12 +
13 + # process command line arguments
14 + while test $# -gt 0 ; do
15 +   case "${1}" in
16 +     -h | --help | --h* )                       # -h for help
17 +        echo "${usage}" 1>&2; exit 0 ;;
18 +     -m )                                       # -m PERM arg
19 +        shift
20 +        test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
21 +        dirmode="${1}"
22 +        shift ;;
23 +     -- ) shift; break ;;                       # stop option processing
24 +     -* ) echo "${usage}" 1>&2; exit 1 ;;       # unknown option
25 +     * )  break ;;                              # first non-opt arg
26 +   esac
27 + done
28 +
29 + for file
30 + do
31 +  if test -d "$file"; then
32 +    shift
33 +  else
34 +    break
35 +  fi
36 + done
37 +
38 + case $# in
39 + 0) exit 0 ;;
40 + esac
41 +
42 + case $dirmode in
43 + '')
44 +  if mkdir -p -- . 2>/dev/null; then
45 +    echo "mkdir -p -- $*"
46 +    exec mkdir -p -- "$@"
47 +  fi ;;
48 + *)
49 +  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
50 +    echo "mkdir -m $dirmode -p -- $*"
51 +    exec mkdir -m "$dirmode" -p -- "$@"
52 +  fi ;;
53 + esac
54  
55   for file
56   do
# Line 22 | Line 66 | do
66       esac
67  
68       if test ! -d "$pathcomp"; then
69 <        echo "mkdir $pathcomp"
69 >        echo "mkdir $pathcomp"
70  
71 <        mkdir "$pathcomp" || lasterr=$?
71 >        mkdir "$pathcomp" || lasterr=$?
72  
73 <        if test ! -d "$pathcomp"; then
74 <          errstatus=$lasterr
75 <        fi
73 >        if test ! -d "$pathcomp"; then
74 >          errstatus=$lasterr
75 >        else
76 >          if test ! -z "$dirmode"; then
77 >             echo "chmod $dirmode $pathcomp"
78 >
79 >             lasterr=""
80 >             chmod "$dirmode" "$pathcomp" || lasterr=$?
81 >
82 >             if test ! -z "$lasterr"; then
83 >               errstatus=$lasterr
84 >             fi
85 >          fi
86 >        fi
87       fi
88  
89       pathcomp="$pathcomp/"
# Line 37 | Line 92 | done
92  
93   exit $errstatus
94  
95 + # Local Variables:
96 + # mode: shell-script
97 + # sh-indentation: 3
98 + # End:
99   # mkinstalldirs ends here

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines