diff options
author | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-13 01:42:52 +0900 |
---|---|---|
committer | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-13 01:42:52 +0900 |
commit | bdfb8672e3e4ec0f55a8368ba6d6300d24c332f6 (patch) | |
tree | e87d45124361001d2c557e87b246482b77b6008a /mkdirhier | |
parent | a1a2b2765e25bc20d6f249a467755455b9b3b6b3 (diff) | |
download | imake-bdfb8672e3e4ec0f55a8368ba6d6300d24c332f6.tar.gz imake-bdfb8672e3e4ec0f55a8368ba6d6300d24c332f6.tar.bz2 imake-bdfb8672e3e4ec0f55a8368ba6d6300d24c332f6.zip |
Tizen 2.1 basesubmit/tizen_2.1/20130425.183925submit/tizen_2.1/20130425.151202submit/tizen_2.1/20130424.225151accepted/tizen_2.1/20130425.180641accepted/tizen_2.1/20130425.144132accepted/tizen_2.1/20130425.0251432.1b_release
Diffstat (limited to 'mkdirhier')
-rw-r--r-- | mkdirhier | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/mkdirhier b/mkdirhier new file mode 100644 index 0000000..09b89ee --- /dev/null +++ b/mkdirhier @@ -0,0 +1,67 @@ +#!/bin/sh +# $Xorg: mkdirhier.sh,v 1.3 2000/08/17 19:41:53 cpqbld Exp $ +# Courtesy of Paul Eggert + +newline=' +' +IFS=$newline + +case ${1--} in +-*) echo >&2 "mkdirhier: usage: mkdirhier directory ..."; exit 1 +esac + +status= + +for directory +do + case $directory in + '') + echo >&2 "mkdirhier: empty directory name" + status=1 + continue;; + *"$newline"*) + echo >&2 "mkdirhier: directory name contains a newline: \`\`$directory''" + status=1 + continue;; + ///*) prefix=/;; # See Posix 2.3 "path". + //*) prefix=//;; + /*) prefix=/;; + -*) prefix=./;; + *) prefix= + esac + + IFS=/ + set x $directory + case $2 in + */*) # IFS parsing is broken + IFS=' ' + set x `echo $directory | tr / ' '` + ;; + esac + IFS=$newline + shift + + for filename + do + path=$prefix$filename + prefix=$path/ + shift + + test -d "$path" || { + paths=$path + for filename + do + if [ -n "$filename" -a "$filename" != "." ]; then + path=$path/$filename + paths=$paths$newline$path + fi + done + + mkdir $paths || status=$? + + break + } + done + done + +exit $status |