Edit

kc3-lang/libxml2/mkinstalldirs

Branch :

  • Show log

    Commit

  • Author : Daniel Veillard
    Date : 2003-09-18 10:05:56
    Hash : 536fad5a
    Message : valgrind found a newly introduced bug Daniel * dict.c: valgrind found a newly introduced bug Daniel

  • mkinstalldirs
  • #! /bin/sh
    # mkinstalldirs --- make directory hierarchy
    # Author: Noah Friedman <friedman@prep.ai.mit.edu>
    # 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
    
       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