]> git.sesse.net Git - rdpsrv/blob - Xserver/config/util/mkdirhier.cmd
Import X server from vnc-3.3.7.
[rdpsrv] / Xserver / config / util / mkdirhier.cmd
1 /* OS/2 REXX SCRIPT */
2 /* $XFree86: xc/config/util/mkdirhier.cmd,v 3.2 1996/02/19 12:16:51 dawes Exp $ */
3
4 CALL RxFuncAdd 'SysMkDir', 'RexxUtil', 'SysMkDir'
5
6 IF ARG() = 0 THEN DO
7         SAY "mkdirhier: usage: mkdirhier directory ..."
8         EXIT 1
9 END
10
11 curdir=DIRECTORY()
12 drive=DELSTR(curdir,3)
13
14 status=""
15 PARSE ARG all
16
17 DO i=1 TO WORDS(all)
18         direc = TRANSLATE(WORD(all,i),'/','\')
19         SELECT
20         WHEN direc = "" THEN DO
21                 SAY "mkdirhier: empty directory name"
22                 status=1
23                 ITERATE
24                 END
25         WHEN POS('0a'x,direc) > 0 THEN DO
26                 SAY "mkdirhier: directory name contains a newline: '" direc "'"
27                 status=1
28                 ITERATE
29                 END
30         OTHERWISE NOP
31         END
32         IF POS(":",direc) = 0 THEN direc = INSERT(drive,direc)
33
34         dirbuf.0 = direc
35         DO k=1 TO 1000
36                 direc1 = STRIP(direc,"t","/")
37                 dpath1 = FILESPEC("path",direc1)
38                 dirbuf.k=FILESPEC("drive",direc1)||STRIP(dpath1,"t","/")
39                 IF POS("/",dirbuf.k) = 0 THEN LEAVE k
40                 direc=dirbuf.k
41         END
42         DO m=k-1 TO 0 BY -1
43                 dospath = TRANSLATE(dirbuf.m,'\','/')
44                 targetdir=DIRECTORY(dospath)
45                 IF targetdir = dospath THEN
46                         NOP
47                 ELSE
48                         CALL SysMkDir(dospath)
49                 CALL DIRECTORY curdir
50         END
51 END
52
53
54 EXIT status