Edit

kc3-lang/SDL/build-scripts/mkinstalldirs

Branch :

  • Show log

    Commit

  • Author : Philipp Wiesemann
    Date : 2015-06-21 17:33:46
    Hash : 0e45984f
    Message : Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().

  • build-scripts/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