|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00) Types: TextFile Names: »openentrytx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦80900d603⟧ »giprocfile« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦80900d603⟧ »giprocfile« └─⟦this⟧
; open_entry_tx * page 1 8 03 79, 9.23; if listing.yes char 10 12 10 openentry=set 36 openentry=algol external integer procedure open_entry(zn, name); zone zn; long array name; begin comment open_entry (return, integer) The result from a lookup on _ the specified entry. zn (call, zone) Zone to the specified entry. name (call, long array) The name of the entry. The procedure performs a lookup on the specified entry <name> and determines a modekind and in case of a non-area entry the name of the document, for a later call of open(zn, modekind, ....). If the name is a non-area entry, file_nbr and block_nbr is generated for a later call of setposition(zn, file_nbr, block_nbr). If the return value of open_entry differ from 0 (zero) a warning is printed on current output, and the expected call of open(...) will not be executed. Programmer Erik Hansen, Topografisk Afdeling 06-03-79 ; \f comment open_entry_tx * page 2 8 03 79, 9.23 0 1 2 3 4 5 6 7 8 9 ; integer i; integer array tail(1:10); long array scope(1:2); scope(1) := long<::>; i := lookup_proc(scope, name, tail); if i = 0 then begin integer modekind, fileno, blockno; long array la(1:2); if tail(1) >= 0 then begin <** area entry **> to_from(la, name, 8); modekind := 4; fileno := 0; blockno := 0; end else begin <** non-area entry **> long array field laf; laf := 2; to_from(la, tail.laf, 8); modekind := tail(1) shift 1 shift (-1); fileno := tail(7); blockno := tail(8); end; open(zn, modekind, la, 0); setposition(zn, fileno, blockno); end; open_entry := i; if i > 1 then write(out, nl, 1, <:**open<95>entry warning, :>, name, case (i-1) of (<: cat i/o error:>, _ <: not found:>, <::>, <::>, _ <: name format illegal:>), <:, open skipped:>); end; end; if ok.no mode warning.yes if warning.yes (mode 0.yes message openentry not ok lookup openentry) end finis ▶EOF◀