123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571 |
- ?section ADD^LIST routine
- [#IF [#ARGUMENT /VALUE item/ WORD/SPACE/]]
- #APPEND bin ADD * FROM [item]
- #SET itime [#FILEINFO /MODIFICATION/ [item]]
- [#IF itime > ntime |THEN| #SETV ntime itime]
- ?section BBZIPLIB MACRO
- #FRAME
- #push bin item ntime itime libtime
- #SET ntime 0
- #OUTPUT Building [lib]
- #APPEND bin CLEAR
- add^list CRC32O
- add^list CRYPTO
- add^list DEFLATEO
- add^list FILEIOO
- add^list GLOBALSO
- add^list TANDEMO
- add^list TANZIPO
- add^list TREESO
- add^list TTYIOO
- add^list UTILO
- add^list ZIPFILEO
- add^list ZIPUPO
- #APPEND bin INFO UNRESOLVED *
- #APPEND bin BUILD [lib] ! , LIST * OFF
- #SET libtime [#FILEINFO /MODIFICATION/ [lib]]
- [#IF libtime < ntime
- |THEN|
- #OUTPUT [lib] needs re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound [lib] OK
- | 1 | #OUTPUT [lib]: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT [lib]: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT [lib] is up to date
- ]
- #UNFRAME
- ?section BBZIP MACRO
- #FRAME
- #push bin ziptime build
- #SET build 0
- #OUTPUT Building %1% with %2% memory model
- #APPEND bin CLEAR
- #APPEND bin ADD * FROM ZIPO
- #APPEND bin select search ($system.system.c%2%, [lib])
- #APPEND bin select runnable object on
- #APPEND bin select list * off
- #APPEND bin set heap 20 pages
- #APPEND bin set symbols on
- #APPEND bin set saveabend on
- #APPEND bin set inspect on
- #APPEND bin info unresolved *
- #APPEND bin BUILD %1% !
- #SET ziptime [#FILEINFO /MODIFICATION/ %1%]
- [#IF ziptime < [#FILEINFO /MODIFICATION/ ZIPO] |THEN|
- #OUTPUT %1% is older than ZIPO
- #SET build -1
- ]
- [#IF ziptime < [#FILEINFO /MODIFICATION/ [lib]] |THEN|
- #OUTPUT %1% is older than [lib]
- #SET build -1
- ]
- [#IF build
- |THEN|
- #OUTPUT %1% is out of date, re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound %1% OK
- | 1 | #OUTPUT %1%: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT %1% is up to date, no re-build required
- ]
- #UNFRAME
- ?section BBANY MACRO
- #FRAME
- #push bin memory anytime build
- #SET build 0
- #SETMANY memory, %2% LARGE
- #OUTPUT Building %1% with [memory] memory model
- #APPEND bin CLEAR
- #APPEND bin ADD * FROM %1%O
- #APPEND bin select search ($system.system.c[memory],[lib])
- #APPEND bin select runnable object on
- #APPEND bin select list * off
- #APPEND bin set heap 20 pages
- #APPEND bin set symbols on
- #APPEND bin set saveabend on
- #APPEND bin set inspect on
- #APPEND bin info unresolved *
- #APPEND bin BUILD %1% !
- #SET anytime [#FILEINFO /MODIFICATION/ %1%]
- [#IF anytime < [#FILEINFO /MODIFICATION/ %1%O] |THEN|
- #OUTPUT %1% is older than %1%O
- #SET build -1
- ]
- [#IF anytime < [#FILEINFO /MODIFICATION/ [lib]] |THEN|
- #OUTPUT %1% is older than [lib]
- #SET build -1
- ]
- [#IF build
- |THEN|
- #OUTPUT %1% is out of date, re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound %1% OK
- | 1 | #OUTPUT %1%: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT %1% is up to date, no re-build required
- ]
- #UNFRAME
- ?section BBUNZIPLIB MACRO
- #FRAME
- #push bin item ntime itime libtime
- #SET ntime 0
- #OUTPUT Building [lib]
- #APPEND bin CLEAR
- add^list CRC32O
- add^list CRYPTO
- add^list ENVARGSO
- add^list EXPLODEO
- add^list EXTRACTO
- add^list FILEIOO
- add^list GLOBALSO
- add^list INFLATEO
- add^list LISTO
- add^list MATCHO
- add^list PROCESSO
- add^list TANDEMO
- add^list TANUNZO
- add^list TTYIOO
- add^list UNSHRINO
- add^list ZIPINFOO
- #APPEND bin INFO UNRESOLVED *
- #APPEND bin BUILD [lib] ! , LIST * OFF
- #SET libtime [#FILEINFO /MODIFICATION/ [lib]]
- [#IF libtime < ntime
- |THEN|
- #OUTPUT [lib] needs re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound [lib] OK
- | 1 | #OUTPUT [lib]: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT [lib]: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT [lib] is up to date
- ]
- #UNFRAME
- ?section BBUNZIP MACRO
- #FRAME
- #push bin ziptime build
- #SET build 0
- #OUTPUT Building %1% with %2% memory model
- #APPEND bin CLEAR
- #APPEND bin ADD * FROM UNZIPO
- #APPEND bin select search ($system.system.c%2%,[lib])
- #APPEND bin select runnable object on
- #APPEND bin select list * off
- #APPEND bin set heap 20 pages
- #APPEND bin set symbols on
- #APPEND bin set saveabend on
- #APPEND bin set inspect on
- #APPEND bin info unresolved *
- #APPEND bin BUILD %1% !
- #SET ziptime [#FILEINFO /MODIFICATION/ %1%]
- [#IF ziptime < [#FILEINFO /MODIFICATION/ UNZIPO] |THEN|
- #OUTPUT %1% is older than UNZIPO
- #SET build -1
- ]
- [#IF ziptime < [#FILEINFO /MODIFICATION/ [lib]] |THEN|
- #OUTPUT %1% is older than [lib]
- #SET build -1
- ]
- [#IF build
- |THEN|
- #OUTPUT %1% is out of date, re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound %1% OK
- | 1 | #OUTPUT %1%: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT %1% is up to date, no re-build required
- ]
- #UNFRAME
- ?section BBSFXLIB MACRO
- #FRAME
- #push bin item ntime itime libtime
- #SET ntime 0
- #OUTPUT Building [lib]
- #APPEND bin CLEAR
- add^list CRC32O
- add^list EXTRACTX
- add^list FILEIOX
- add^list GLOBALSX
- add^list INFLATEX
- add^list MATCHX
- add^list PROCESSX
- add^list TANDEMX
- add^list TANUNZX
- add^list TTYIOX
- #APPEND bin INFO UNRESOLVED *
- #APPEND bin BUILD [lib] ! , LIST * OFF
- #SET libtime [#FILEINFO /MODIFICATION/ [lib]]
- [#IF libtime < ntime
- |THEN|
- #OUTPUT [lib] needs re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound [lib] OK
- | 1 | #OUTPUT [lib]: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT [lib]: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT [lib] is up to date
- ]
- #UNFRAME
- ?section BBSFX MACRO
- #FRAME
- #push bin ziptime build
- #SET build 0
- #OUTPUT Building %1% with %2% memory model
- #APPEND bin CLEAR
- #APPEND bin ADD * FROM UNZIPX
- #APPEND bin select search ($system.system.c%2%,[lib])
- #APPEND bin select runnable object on
- #APPEND bin select list * off
- #APPEND bin set heap 20 pages
- #APPEND bin set symbols on
- #APPEND bin set saveabend on
- #APPEND bin set inspect on
- #APPEND bin info unresolved *
- #APPEND bin BUILD %1% !
- #SET ziptime [#FILEINFO /MODIFICATION/ %1%]
- [#IF ziptime < [#FILEINFO /MODIFICATION/ UNZIPX] |THEN|
- #OUTPUT %1% is older than UNZIPX
- #SET build -1
- ]
- [#IF ziptime < [#FILEINFO /MODIFICATION/ [lib]] |THEN|
- #OUTPUT %1% is older than [lib]
- #SET build -1
- ]
- [#IF build
- |THEN|
- #OUTPUT %1% is out of date, re-building
- BIND /NAME,INV BIN/
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Bound %1% OK
- | 1 | #OUTPUT %1%: BIND Failed with Warnings
- | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT %1% is up to date, no re-build required
- ]
- #UNFRAME
- ?section accel^file MACRO
- #FRAME
- #PUSH buf
- [#IF [#FILEINFO /MODIFICATION/ %1%]
- > [#FILEINFO /MODIFICATION/ %2%]
- |THEN|
- #OUTPUT %2% is older than %1%
- #OUTPUT Accelerating %1% to %2%
- AXCEL /OUTV buf/ %1%,%2%
- #OUTPUTV buf
- [#CASE [tacl^completioncode]
- | 0 | #OUTPUT Accelerated %2% OK
- | 1 | #OUTPUT %2%: AXCEL Failed with Warnings
- | OTHERWISE | #OUTPUT %2%: AXCEL Failed with ERRORS !
- ]
- |ELSE|
- #OUTPUT %2% is up to date
- ]
- #UNFRAME
- ?section fup^license ROUTINE
- #FRAME
- #PUSH #DEFAULTS filename old^user current^user
- [#IF [#ARGUMENT /VALUE filename/ FILENAME]]
- #SET old^user [#USERNAME [#PROCESSINFO /PAID/]]
- #SETV current^user old^user
- [#LOOP |WHILE| current^user '<>' "SUPER.SUPER"
- AND NOT [#INPUTEOF]
- |DO|
- #OUTPUT Please log on as SUPER.SUPER (CTRL-Y aborts)
- logon SUPER.SUPER
- #SET current^user [#USERNAME [#PROCESSINFO /PAID/]]
- #OUTPUT
- ]
- [#IF current^user '=' "SUPER.SUPER" |THEN|
- #OUTPUT Licensing [filename]
- $SYSTEM.SYSTEM.FUP LICENSE [filename]
- ]
- [#LOOP |WHILE| current^user '<>' old^user
- AND NOT [#INPUTEOF]
- |DO|
- #OUTPUT Please log on as [old^user] (CTRL-Y aborts)
- logon [old^user]
- #SET current^user [#USERNAME [#PROCESSINFO /PAID/]]
- #OUTPUT
- ]
- #UNFRAME
- ?section CODE routine
- #FRAME
- #PUSH delta arg
- #SET /TYPE delta/ DELTA
- [#LOOP |WHILE| [#COMPUTE [#ARGUMENT /VALUE arg/ NUMBER END] = 1 ]
- |DO|
- #APPEND DELTA [arg]I
- ]
- #RESULT [#DELTA /COMMANDS DELTA/]
- #UNFRAME
- ?section TACL^COMPLETIONCODE routine
- #RESULT [_completion:completioncode]
- ?SECTION INCREMENT routine
- #FRAME
- #PUSH increment_variable increment_value
- [#IF [#ARGUMENT /VALUE increment_variable/ VARIABLE]]
- [#IF [#EMPTYV [increment_variable]]|THEN|#SET [increment_variable] 0]
- [#IF [#MORE]
- |THEN|
- [#IF [#ARGUMENT /VALUE increment_value/ NUMBER]]
- |ELSE|
- #SET increment_value 1
- ]
- [#IF [#ARGUMENT END]]
- #SET [increment_variable] [#COMPUTE [increment_variable] + [increment_value]]
- #UNFRAME
- ?section ERROR^IN^FUP^OUTPUT routine
- #FRAME
- #PUSH err output last line type
- #SETMANY err output, 0 0
- [#LOOP |WHILE| NOT [#EMPTYV fup^out]
- |DO|
- #EXTRACTV fup^out line
- [#SETMANY type, [#CHARGET line 1 TO 7] .]
- [#CASE [type]
- | ERROR | #SETMANY output err, -1 -1
- | WARNING | #SET output -1
- | OTHERWISE |
- ]
- [#IF output |THEN|
- #OUTPUTV last
- #OUTPUTV line
- #SET output 0
- #EXTRACTV fup^out line
- ]
- #SETV last line
- ]
- #RESULT [err]
- #UNFRAME
- ?section SECURE^FILE routine
- #FRAME
- [#DEF fup^out TEXT |BODY|]
- [#DEF fup^buf TEXT |BODY|]
- [#DEF fup^cmd MACRO |BODY|
- FUP /OUTV fup^out/ %*%
- #SETV fup^buf fup^out
- [#IF [error^in^fup^output]
- |THEN|
- #OUTPUT Error detected in FUP output, ABORTING !!
- #OUTPUT ..............................................................
- #OUTPUTV fup^buf
- #OUTPUT ..............................................................
- #RAISE _BREAK
- ]
- ]
- [#DEF display^action MACRO |BODY|
- [#IF NOT action |THEN|
- #OUTPUT /HOLD/ Updating [file] ...
- #SET action -1
- #SET count 0
- ]
- #OUTPUT /COLUMN 3/ ... %*%
- ]
- [#DEF display^noaction MACRO |BODY|
- [#IF count
- |THEN|
- increment count
- |ELSE|
- #OUTPUT
- #SET count 1
- ]
- [#IF count |THEN|
- #OUTPUT /COLUMN [count]/ [code 27]A.
- [#IF count > 75
- |THEN|
- #SET count 0
- ]
- ]
- ]
- [#DEF process^file TEXT |BODY|
- #SET action 0
- #SETMANY cur^owner cur^security cur^license cur^progid, &
- [#FILEINFO /OWNER, SECURITY, LICENSED, PROGID/ [file]]
- #SET cur^owner [#USERNAME [cur^owner]]
- [#IF NOT [#EMPTYV owner]
- |THEN|
- [#IF owner '<>' cur^owner
- |THEN|
- display^action giving to [owner] (was [cur^owner])
- fup^cmd GIVE [file], [owner]
- [#IF cur^progid
- |THEN|
- #OUTPUT /COLUMN 3/... WARNING! Loss of PROGID flag
- #SET cur^progid 0
- ]
- ]
- ]
- [#IF NOT [#EMPTYV security]
- |THEN|
- [#IF security '<>' cur^security
- |THEN|
- display^action securing to [security] (was [cur^security])
- fup^cmd SECURE [file], [security]
- ]
- ]
- [#IF license |THEN|
- [#IF NOT cur^license
- |THEN|
- display^action licensed
- fup^cmd LICENSE [file]
- ]
- ]
- [#IF progid |THEN|
- [#IF NOT cur^progid
- |THEN|
- display^action PROGID flag set
- fup^cmd SECURE [file],, PROGID
- ]
- ]
- [#IF action
- |THEN|
- fup^cmd INFO [file]
- |ELSE|
- [#IF tflag
- |THEN|
- display^noaction
- |ELSE|
- #OUTPUT /HOLD/ Unchanged : [file]
- [#IF cur^progid |THEN| #OUTPUT /COLUMN 39,HOLD/ P]
- [#IF cur^license |THEN| #OUTPUT /COLUMN 40,HOLD/ L]
- #OUTPUTV /COLUMN 43,HOLD/ cur^security
- #OUTPUTV /COLUMN 50,HOLD/ cur^owner
- #OUTPUT
- ]
- ]
- ]
- #PUSH arg template file security owner progid license prev action count tflag
- #PUSH cur^security cur^owner cur^license cur^progid
- #SETMANY license progid, 0 0
- #SET count 0
- #SET tflag 0
- [#LOOP |WHILE| [#MORE]
- |DO|
- [#CASE [#ARGUMENT /VALUE arg/ FILENAME
- USER /USERNAME/
- USER
- SECURITY
- KEYWORD /WORDLIST LICENSE/
- KEYWORD /WORDLIST PROGID/
- TEMPLATE
- ]
- | 1 | #SETV file arg
- | 2 | #SETV owner arg
- | 3 | #SET owner [#USERNAME [arg]]
- | 4 | #SETV security arg
- | 5 | #SET license -1
- | 6 | #SET progid -1
- | 7 | #SETV template arg
- ]
- ]
- [#IF [#ARGUMENT END]]
- [#IF [#EMPTYV template]
- |THEN|
- #SETV template file
- |ELSE|
- #SET tflag -1
- #OUTPUT /HOLD/ Template : [template]
- [#IF progid |THEN| #OUTPUT /COLUMN 39,HOLD/ P]
- [#IF license |THEN| #OUTPUT /COLUMN 40,HOLD/ L]
- [#IF NOT [#EMPTYV security] |THEN| #OUTPUTV /HOLD/ " "[security]""]
- [#IF NOT [#EMPTYV owner] |THEN| #OUTPUTV /HOLD/ " [owner]"]
- #OUTPUT
- ]
- [#IF [#EMPTYV template]
- |THEN|
- #OUTPUT ERROR! No filename specified
- #RESET FRAMES
- #RETURN
- |ELSE|
- #SET file [#FILENAMES /MAXIMUM 1/ [template]]
- [#LOOP |WHILE| NOT [#EMPTYV file]
- |DO|
- process^file
- #SETV prev file
- #SET file [#FILENAMES /MAXIMUM 1, PREVIOUS [prev]/ [template]]
- ]
- ]
- #UNFRAME
|