INTEGER * 4 MARKS(32) INTEGER SIZES(32) COMMON /TOGET/MARKS,SIZES INTEGER TEXT(4096) INTEGER SIZE2(600) INTEGER START(600) INTEGER CLIST,LEN,SAVAIL,TAVAIL INTEGER I,TSIZE,J INTEGER NAME(102),ARG(128) INTEGER EQUAL,GETNA0,CREATE,SEEKF,WRITEF INTEGER * 4 MARKF INTEGER AAAAA0(3) INTEGER AAAAB0(14) INTEGER AAAAC0(13) INTEGER AAAAD0(24) INTEGER AAAAE0(28) INTEGER AAAAF0(25) INTEGER AAAAG0(20) INTEGER AAAAH0(21) INTEGER AAAAI0(27) DATA AAAAA0/173,243,0/ DATA AAAAB0/189,229,248,244,242,225,189,175,227,236,233,243,244,0/ DATA AAAAC0/189,245,226,233,238,189,175,227,236,233,243,244,0/ DATA AAAAD0/195,225,238,167,244,160,227,242,229,225,244,229,160,22 *7,236,233,243,244,160,230,233,236,229,0/ DATA AAAAE0/207,246,229,242,230,236,239,247,161,161,161,161,161,16 *1,161,161,160,193,210,231,231,231,231,231,174,174,174,0/ DATA AAAAF0/247,242,233,244,229,230,160,242,229,244,245,242,238,22 *9,228,160,225,238,160,229,242,242,239,242,0/ DATA AAAAG0/247,242,233,244,229,230,160,228,233,229,228,160,233,23 *8,160,236,239,239,240,0/ DATA AAAAH0/243,229,229,235,230,160,242,229,244,245,242,238,229,22 *8,160,229,242,242,239,242,0/ DATA AAAAI0/247,242,233,244,229,230,160,228,233,229,228,160,239,23 *8,160,236,225,243,244,160,247,242,233,244,229,230,0/ CALL GETARG(1,ARG,128) IF((EQUAL(ARG,AAAAA0).NE.1))GOTO 10000 CLIST=CREATE(AAAAB0,3) GOTO 10001 10000 IF((ARG(1).NE.0))GOTO 10002 CLIST=CREATE(AAAAC0,3) GOTO 10003 10002 CALL ERROR('Usage: mkcl [-s].') 10003 CONTINUE 10001 IF((CLIST.NE.-3))GOTO 10004 CALL ERROR(AAAAD0) 10004 SAVAIL=1 TAVAIL=1 LEN=GETNA0(-10,NAME) 10005 IF((LEN.EQ.-1))GOTO 10006 SIZE2(SAVAIL)=LEN START(SAVAIL)=TAVAIL I=1 GOTO 10009 10007 I=I+(1) 10009 IF((I.GT.LEN+1))GOTO 10008 TEXT(TAVAIL)=NAME(I) TAVAIL=TAVAIL+(1) GOTO 10007 10008 SAVAIL=SAVAIL+(1) IF((TAVAIL.GT.4096))GOTO 10011 IF((SAVAIL.GT.600))GOTO 10011 GOTO 10010 10011 CALL ERROR(AAAAE0) 10010 LEN=GETNA0(-10,NAME) GOTO 10005 10006 I=1 GOTO 10014 10012 I=I+(1) 10014 IF((I.GT.32))GOTO 10013 MARKS(I)=0 SIZES(I)=0 GOTO 10012 10013 IF((WRITEF(MARKS,32*3,CLIST).NE.-3))GOTO 10015 CALL ERROR(AAAAF0) 10015 I=1 GOTO 10018 10016 I=I+(1) 10018 IF((I.GT.32))GOTO 10017 TSIZE=0 MARKS(I)=MARKF(CLIST) J=1 GOTO 10021 10019 J=J+(1) 10021 IF((J.GT.SAVAIL-1))GOTO 10020 IF((SIZE2(J).NE.I))GOTO 10022 IF((WRITEF(TEXT(START(J)),I+1,CLIST).NE.-3))GOTO 10023 CALL ERROR(AAAAG0) 10023 TSIZE=TSIZE+(I+1) 10022 GOTO 10019 10020 SIZES(I)=TSIZE GOTO 10016 10017 IF((SEEKF(INTL(0),CLIST).NE.-3))GOTO 10024 CALL ERROR(AAAAH0) 10024 IF((WRITEF(MARKS,32*3,CLIST).NE.-3))GOTO 10025 CALL ERROR(AAAAI0) 10025 CALL SWT END INTEGER FUNCTION GETNA0(FD,NAME) INTEGER FD INTEGER NAME(1) INTEGER L,GETLIN L=GETLIN(NAME,FD) IF((L.EQ.-1))GOTO 10026 NAME(L)=0 GOTO 10027 10026 GETNA0=-1 RETURN 10027 CALL MAPSTR(NAME,1) GETNA0=L-1 RETURN END C ---- Long Name Map ---- C getname getna0