home *** CD-ROM | disk | FTP | other *** search
- ptest: proc options(main); /* parse procedures tester */
- %replace
- TRUE by '1'b,
- FALSE by '0'b;
-
- dcl fcbptr ptr;
-
- dcl bufptr ptr;
-
-
- dcl 1 fcb based(fcbptr),
- 2 drive fixed(7),
- 2 name char(8),
- 2 type char(3),
- 2 ext(4) fixed(7);
-
-
- dcl cmdtail char(127) based(bufptr);
-
- dcl
- parse entry(ptr,ptr,fixed(7)),
- fparse entry(ptr,ptr,fixed(7));
-
-
- dcl
- UPPERCASE char(26) static init('ABCDEFGHIJKLMNOPQRSTUVWXYZ'),
- LOWERCASE char(26) static init('abcdefghijklmnopqrstuvwxyz'),
- module fixed(7) static init(0),
- retcode fixed(7) static init(0);
-
- /* base fcb at default fcb (5CH), cmdtail at default buffer (80H) */
- unspec(fcbptr) = '005C'b4;
- unspec(bufptr) = '0081'b4;
-
- do while(module < 1 | module > 2);
- put skip list('Test: (1) PARSE, (2) FPARSE ? ');
- get list (module);
- end;
-
- if fcb.name = '' then do;
- put skip list ('Enter Files: ');
- get edit (cmdtail) (a);
- cmdtail = translate(cmdtail,UPPERCASE,LOWERCASE);
- end;
-
- do while(retcode = 0);
- if module = 1 then
- call parse(bufptr,fcbptr,retcode);
- else
- call fparse(bufptr,fcbptr,retcode);
- if retcode > 1 then
- put skip(2) list('Invalid Filename');
- else
- put skip list('File:',drive,name,type,ext(1));
- end;
-
- end ptest;
-