Spooler Programmer's Guide
Sample Perusal Process
Spooler Programmer’s Guide—522287-002
B-7
 !2 HOLD! BEGIN
 IF count = 0 THEN hold := 1
 ELSE IF str[0] = "O" OR str[0] = "o" THEN
 BEGIN
 IF str[1] = "N" OR str[1] = "n" THEN hold := 1
 ELSE
 IF str[1] = "F" OR str[1] = "f" AND
 str[2] = "F" OR str[2] = "f" THEN hold := 0
 ELSE CALL error (2);
 END
 END;
 !3 JOB! BEGIN
 IF count = 0 THEN jobn := 0
 ELSE
 BEGIN
 CALL NUMIN (str,jobn, 10, status);
 IF status <> 0 THEN CALL error(2)
 ELSE IF jobn > 4095 OR jobn < 1 THEN CALL error (2);
 END;
 END;
 !4 DEV! BEGIN
 devcnt:= 0;
 device[0] := " ";
 device[1] ':=' device[0] FOR 15;
 IF count <> 0 THEN
 BEGIN
 ! Test for local or remote device
 IF str[0] = "$" THEN devcnt := 4;
 temp := breakstr(str, 0, device[devcnt]);
 IF temp < 0 THEN CALL error (2)
 ELSE IF temp > 0 THEN
 BEGIN
 temp := temp + 1;
 devcnt := devcnt + 4;
 temp := breakstr(str, temp, device[devcnt]);
 IF temp < 0 THEN CALL error (2)
 ELSE IF temp > 0 THEN
 BEGIN
 temp := temp + 1;
 devcnt := devcnt + 4;
 temp := breakstr(str, temp, device[devcnt]);
 IF temp < 0 THEN CALL error (2)
 ELSE IF temp > 0 AND devcnt <= 12 THEN
 BEGIN
 temp := temp + 1;
 devcnt := devcnt + 4;
 temp := breakstr(str, temp, device[devcnt]);
 IF temp <> 0 THEN CALL error (2);
 END;
 END;
 END;
 END;
 END;
 !5 LIST! BEGIN
 CALL NUMIN (str, page, 10, status);
 IF status <> 0 THEN CALL error (2)
 ELSE
 BEGIN
 WHILE $NUMERIC(str[0]) DO str[0] ':=' str[1] FOR count;
 IF str[0] = "/" THEN
 BEGIN
 str[0] ':=' str[1] FOR count;










