INTEGER ARGP,ARRAY(2),ATTACH,CODE,DAY,DESCE0,DTM,DUMPED,DVAL,ENTRY *(32),FILEN0,I,J,JUNK(3),LEVEL,LOCKV0,MAXLE0,MONTH,OWNER,PROTE0,PRO *VAL,RWLOCK,TVAL,YEAR INTEGER NONOW0(4),OWNER0(4) INTEGER CTOI,FOLLOW,GETARG,GETTO,INDEX,STRLSR,TSCAN$,PARSDT,PARSTM INTEGER * 4 LTIME INTEGER PATH(180),ARG(128) INTEGER LOCKP0(5) INTEGER LOCKT0(20) INTEGER AAAAA0 INTEGER AAAAB0 INTEGER AAAAC0 INTEGER AAAAD0 INTEGER AAAAE0 INTEGER AAAAF0 INTEGER AAAAG0 INTEGER AAAAH0 INTEGER AAAAI0 INTEGER AAAAJ0(5) INTEGER AAAAK0(22) INTEGER AAAAL0(25) INTEGER AAAAM0 INTEGER AAAAN0 INTEGER AAAAO0(21) INTEGER AAAAP0(33) INTEGER AAAAQ0(21) INTEGER AAAAR0(26) INTEGER AAAAS0(16) INTEGER AAAAT0(13) INTEGER AAAAU0 INTEGER AAAAV0 INTEGER AAAAW0(62) INTEGER AAAAX0(48) DATA LOCKT0/0,243,249,243,0,1,238,173,177,0,2,238,171,177,0,3,238, *171,238,0/ DATA LOCKP0/4,1,6,11,16/ DATA OWNER0/1024,512,256,1792/ DATA NONOW0/4,2,1,7/ DATA AAAAJ0/244,247,242,225,0/ DATA AAAAK0/186,160,226,225,228,160,240,242,239,244,229,227,244,23 *3,239,238,160,237,239,228,229,0/ DATA AAAAL0/186,160,226,225,228,160,236,239,227,235,160,243,240,22 *9,227,233,230,233,227,225,244,233,239,238,0/ DATA AAAAO0/227,225,238,167,244,160,243,229,244,160,240,242,239,24 *4,229,227,244,233,239,238,0/ DATA AAAAP0/227,225,238,167,244,160,243,229,244,160,237,239,228,23 *3,230,233,227,225,244,233,239,238,160,228,225,244,229,175,244,233, *237,229,0/ DATA AAAAQ0/227,225,238,167,244,160,243,229,244,160,228,245,237,24 *0,229,228,160,226,233,244,0/ DATA AAAAR0/227,225,238,167,244,160,243,229,244,160,242,229,225,22 *8,175,247,242,233,244,229,160,236,239,227,235,0/ DATA AAAAS0/238,239,244,160,225,160,228,233,242,229,227,244,239,24 *2,249,0/ DATA AAAAT0/226,225,228,160,240,225,244,232,238,225,237,229,0/ DATA AAAAW0/213,243,225,231,229,186,160,227,232,225,244,160,251,16 *0,251,173,245,252,173,243,160,219,188,236,229,246,229,236,243,190, *221,252,173,240,160,188,240,242,239,244,229,227,244,190,252,173,23 *7,160,188,228,225,244,229,190,160,188,244,233,237,229,190,0/ DATA AAAAX0/160,160,160,160,160,160,160,160,160,160,160,160,160,16 *0,252,173,235,160,168,243,249,243,252,238,173,177,252,238,171,177, *252,238,171,238,169,253,160,251,188,240,225,244,232,190,253,160,25 *3,0/ FILEN0=0 AAAAI0=1 GOTO 10008 10009 ARGP=1 GOTO 10012 10010 ARGP=ARGP+(1) 10012 IF((GETARG(ARGP,PATH,180).EQ.-1))GOTO 10011 IF((PATH(1).NE.173))GOTO 10013 AAAAG0=1 GOTO 10006 10014 GOTO 10015 10013 FILEN0=1 AAAAC0=1 GOTO 10002 10016 AAAAF0=1 GOTO 10005 10017 CONTINUE 10015 GOTO 10010 10011 IF((FILEN0.NE.0))GOTO 10018 IF((DESCE0.EQ.0))GOTO 10018 AAAAC0=2 GOTO 10002 10019 PATH(1)=0 AAAAF0=2 GOTO 10005 10020 CONTINUE 10018 GOTO 10021 10000 OWNER=1 PROVAL=0 GOTO 10024 10022 J=J+(1) 10024 IF((ARG(J).EQ.0))GOTO 10023 IF((ARG(J).NE.175))GOTO 10025 OWNER=0 GOTO 10022 10025 I=INDEX(AAAAJ0,ARG(J)) IF((I.GT.0))GOTO 10026 CALL PUTLIN(ARG,-15) CALL ERROR(AAAAK0) 10026 IF((OWNER.EQ.0))GOTO 10027 PROVAL=OR(PROVAL,OWNER0(I)) GOTO 10028 10027 PROVAL=OR(PROVAL,NONOW0(I)) 10028 GOTO 10022 10023 GOTO 10029 10021 GOTO 10030 10001 CALL MAPSTR(ARG,1) I=STRLSR(LOCKP0,LOCKT0,1,ARG(J)) IF((I.NE.-1))GOTO 10031 CALL PUTLIN(ARG,-15) CALL ERROR(AAAAL0) GOTO 10032 10031 LOCKV0=LOCKT0(LOCKP0(I)) 10032 GOTO 10033 10030 GOTO 10034 10002 IF((MAXLE0.GT.0))GOTO 10035 MAXLE0=:77777 10035 IF((DUMPED.NE.0))GOTO 10036 IF((RWLOCK.NE.0))GOTO 10036 IF((DTM.NE.0))GOTO 10036 IF((PROTE0.NE.0))GOTO 10036 PROTE0=1 PROVAL=1793 10036 GOTO 10037 10034 GOTO 10038 10003 LEVEL=0 10039 AAAAM0=TSCAN$(PATH,ENTRY,LEVEL,MAXLE0,4) GOTO 10040 10041 AAAAE0=1 GOTO 10004 10042 GOTO 10043 10044 GOTO 10045 10040 AAAAN0=AAAAM0+3 GOTO(10041,10044),AAAAN0 10043 CONTINUE GOTO 10039 10045 GOTO 10046 10038 GOTO 10047 10004 CODE=0 IF((PROTE0.EQ.0))GOTO 10048 ARRAY(1)=PROVAL ARRAY(2)=0 CALL SATR$$(:1,ENTRY(2),32,ARRAY,CODE) IF((CODE.EQ.0))GOTO 10049 CALL ERRMSG(PATH,AAAAO0) 10049 CONTINUE 10048 IF((DTM.EQ.0))GOTO 10050 IF((CODE.NE.0))GOTO 10050 ARRAY(1)=DVAL ARRAY(2)=TVAL CALL SATR$$(:2,ENTRY(2),32,ARRAY,CODE) IF((CODE.EQ.0))GOTO 10051 CALL ERRMSG(PATH,AAAAP0) 10051 CONTINUE 10050 IF((DUMPED.EQ.0))GOTO 10052 IF((CODE.NE.0))GOTO 10052 ARRAY(1)=0 ARRAY(2)=0 CALL SATR$$(:3,ENTRY(2),32,ARRAY,CODE) IF((CODE.EQ.0))GOTO 10053 CALL ERRMSG(PATH,AAAAQ0) 10053 CONTINUE 10052 IF((RWLOCK.EQ.0))GOTO 10054 IF((CODE.NE.0))GOTO 10054 IF((AND(ENTRY(20),7).EQ.4))GOTO 10054 ARRAY(1)=LOCKV0 ARRAY(2)=0 CALL SATR$$(:4,ENTRY(2),32,ARRAY,CODE) IF((CODE.EQ.0))GOTO 10055 CALL ERRMSG(PATH,AAAAR0) 10055 CONTINUE 10054 GOTO 10056 10047 GOTO 10057 10005 IF((DESCE0.NE.1))GOTO 10058 IF((FOLLOW(PATH,0).EQ.-3))GOTO 10059 AAAAD0=1 GOTO 10003 10060 CALL AT$HOM(JUNK) GOTO 10061 10059 CALL ERRMSG(PATH,AAAAS0) 10061 GOTO 10062 10058 IF((GETTO(PATH,ENTRY(2),JUNK,ATTACH).EQ.-3))GOTO 10063 ENTRY(20)=0 AAAAE0=2 GOTO 10004 10064 IF((ATTACH.EQ.0))GOTO 10065 CALL AT$HOM(JUNK) 10065 GOTO 10066 10063 CALL ERRMSG(PATH,AAAAT0) 10066 CONTINUE 10062 GOTO 10067 10057 GOTO 10068 10006 AAAAI0=2 GOTO 10008 10069 GOTO 10072 10070 ARGP=ARGP+(1) 10072 IF((GETARG(ARGP,ARG,128).EQ.-1))GOTO 10071 IF((ARG(1).EQ.173))GOTO 10073 GOTO 10071 10073 AAAAU0=ARG(2) GOTO 10074 10075 DESCE0=1 IF((ARG(3).NE.0))GOTO 10076 IF((GETARG(ARGP+1,ARG,128).EQ.-1))GOTO 10077 J=1 MAXLE0=CTOI(ARG,J) IF((ARG(J).NE.0))GOTO 10078 ARGP=ARGP+(1) GOTO 10079 10078 MAXLE0=0 10079 CONTINUE 10077 GOTO 10080 10076 J=3 MAXLE0=CTOI(ARG,J) IF((ARG(J).EQ.0))GOTO 10081 AAAAH0=1 GOTO 10007 10082 CONTINUE 10081 CONTINUE 10080 GOTO 10083 10084 DUMPED=1 GOTO 10083 10085 RWLOCK=1 IF((ARG(3).NE.0))GOTO 10086 ARGP=ARGP+(1) IF((GETARG(ARGP,ARG,128).NE.-1))GOTO 10087 AAAAH0=2 GOTO 10007 10088 CONTINUE 10087 J=1 GOTO 10089 10086 J=3 10089 AAAAB0=1 GOTO 10001 10090 GOTO 10083 10091 DTM=1 ARGP=ARGP+(2) IF((GETARG(ARGP-1,ARG,10).EQ.-1))GOTO 10093 IF((GETARG(ARGP,ARG(11),10).EQ.-1))GOTO 10093 GOTO 10092 10093 AAAAH0=3 GOTO 10007 10094 CONTINUE 10092 J=1 IF((PARSDT(ARG,J,MONTH,DAY,YEAR).NE.-3))GOTO 10095 AAAAH0=4 GOTO 10007 10096 CONTINUE 10095 J=11 IF((PARSTM(ARG,J,LTIME).NE.-3))GOTO 10097 AAAAH0=5 GOTO 10007 10098 CONTINUE 10097 DVAL=LS(YEAR,9)+LS(MONTH,5)+DAY TVAL=LTIME/4 GOTO 10083 10099 PROTE0=1 IF((ARG(3).NE.0))GOTO 10100 ARGP=ARGP+(1) IF((GETARG(ARGP,ARG,128).NE.-1))GOTO 10101 AAAAH0=6 GOTO 10007 10102 CONTINUE 10101 J=1 GOTO 10103 10100 J=3 10103 AAAAA0=1 GOTO 10000 10104 GOTO 10083 10074 AAAAV0=AAAAU0-195 GOTO(10084,10105,10105,10105,10105,10105,10105,10085,10105,10091 *,10105,10105,10099,10105,10105,10075,10105,10084,10105,10105,10105 *,10105,10105,10105,10105,10105,10105,10105,10105,10105,10105,10105 *,10084,10105,10105,10105,10105,10105,10105,10085,10105,10091,10105 *,10105,10099,10105,10105,10075,10105,10084),AAAAV0 10105 AAAAH0=7 GOTO 10007 10106 CONTINUE 10083 GOTO 10070 10071 ARGP=ARGP-(1) GOTO 10107 10068 GOTO 10108 10007 CALL REMARK(AAAAW0) CALL ERROR(AAAAX0) GOTO 10109 10108 GOTO 10110 10008 DESCE0=0 DUMPED=0 RWLOCK=0 DTM=0 PROTE0=0 MAXLE0=0 GOTO 10111 10110 CALL SWT 10111 GOTO(10009,10069),AAAAI0 GOTO 10111 10046 GOTO 10060 10107 GOTO 10014 10056 GOTO(10042,10064),AAAAE0 GOTO 10056 10037 GOTO(10016,10019),AAAAC0 GOTO 10037 10033 GOTO 10090 10029 GOTO 10104 10067 GOTO(10017,10020),AAAAF0 GOTO 10067 10109 GOTO(10082,10088,10094,10096,10098,10102,10106),AAAAH0 GOTO 10109 END SUBROUTINE ERRMSG(PATH,MSG) INTEGER PATH(1),MSG(1) INTEGER AAAAY0(9) DATA AAAAY0/170,243,186,160,170,243,170,238,0/ CALL PRINT(-15,AAAAY0,PATH,MSG) RETURN END C ---- Long Name Map ---- C filenameseen filen0 C resetopts reset0 C lockval lockv0 C locktext lockt0 C getoptions getop0 C nonownerbits nonow0 C maxlevels maxle0 C defaultopts defau0 C lockpos lockp0 C parserwlock parsf0 C parseprotection parse0 C descend desce0 C protect prote0 C ownerbits owner0