All pastes #170109 Raw Edit

Untitled

public text v1 · immutable
·published 2006-09-14 11:38 UTC
rendered paste body
***************
*** 4,15 ****
  # Created: 1993-05-16
  # Public domain
  
- # $Id$
- 
  errstatus=0
  
  for file
  do
     set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
     shift
  
--- 4,59 ----
  # Created: 1993-05-16
  # Public domain
  
  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