]> git.sesse.net Git - rdpsrv/blob - Xserver/config/util/mkdirhier.sh
Support RDP5 logon packets.
[rdpsrv] / Xserver / config / util / mkdirhier.sh
1 #!/bin/sh
2 # $XConsortium: mkdirhier.sh,v 1.7 94/03/24 15:46:34 gildea Exp $
3 # Courtesy of Paul Eggert
4
5 newline='
6 '
7 IFS=$newline
8
9 case ${1--} in
10 -*) echo >&2 "mkdirhier: usage: mkdirhier directory ..."; exit 1
11 esac
12
13 status=
14
15 for directory
16 do
17         case $directory in
18         '')
19                 echo >&2 "mkdirhier: empty directory name"
20                 status=1
21                 continue;;
22         *"$newline"*)
23                 echo >&2 "mkdirhier: directory name contains a newline: \`\`$directory''"
24                 status=1
25                 continue;;
26         ///*) prefix=/;; # See Posix 2.3 "path".
27         //*) prefix=//;;
28         /*) prefix=/;;
29         -*) prefix=./;;
30         *) prefix=
31         esac
32
33         IFS=/
34         set x $directory
35         case $2 in
36             */*)        # IFS parsing is broken
37                 IFS=' '
38                 set x `echo $directory | tr / ' '`
39                 ;;
40         esac
41         IFS=$newline
42         shift
43
44         for filename
45         do
46                 path=$prefix$filename
47                 prefix=$path/
48                 shift
49
50                 test -d "$path" || {
51                         paths=$path
52                         for filename
53                         do
54                                 if [ "$filename" != "." ]; then
55                                         path=$path/$filename
56                                         paths=$paths$newline$path
57                                 fi
58                         done
59
60                         mkdir $paths || status=$?
61
62                         break
63                 }
64         done
65   done
66
67 exit $status