home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol079
/
ptest.pli
< prev
next >
Wrap
Text File
|
1984-04-29
|
1KB
|
58 lines
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;