]> (PURVEC) (CPC) T$PCODE) 0> <* 19 ,PC-ENTLEN>> T$PCODE>)>>)> ; "Get a DB ID to go with the file ID" ]> (DB) ) > .DBNAM>> ) ( <1 .DBV [.DBNAM <>]> )> > >> 5> <>>> >> .DBVEC .DBV> > ]> )>> ) .ID> <==? .DBID>> )> >> >)> >>> .PURVEC>) (T > >> <* 20 ,M$$PC-ENTLEN>> 0> <* 19 ,PC-ENTLEN>> T$PCODE>> > ) ( T$PCODE>> <1 .PURVEC .CPC>)>)> .CPC)>> .OUTCHAN> >:VECTOR> .OUTCHAN> .OUTCHAN>> ) CC ERR) #DECL ((PC) T$PCODE (DBVEC) ]> (DBID) FIX (DB) DB (CC) ) > >> FIX> >> FIX>>> ) ( *600131*> ; "Entire file structure full" <==? <1 .ERR> *601727*>> ; "Insufficient system resources" ; "Free the JFN" >> ; "Print a message" >> *400000*> 0> ; "Quit with special code, then try again if continued" ) (T )>)> >> )>)>> .CC> ) FS IV DV DIRLOC ENT GCP) #DECL ((PC) T$PCODE (JFN) FIX (FS) T$ZONE (DIRLOC) FIX (IV DV) UVECTOR (ENT) (GCP) T$GC-PARAMS) 0> ; "Do we already know where this is?" ; "Takes JFN, pcode; reads stuff in somewhere" ) (T > > -1> > > ) ()> > <1 .DV <1 .DV>> ; "Unshare this loser" > >> > ,SAV-HEADER-LEN>> ) ( .PC I$PLOAD>)>)>> ) DIRNUM) #DECL ((PC) T$PCODE (IV) UVECTOR (ID DIRNUM) FIX) >> ,ALLOC-DIRLOC>>> ) )> > *400000*> >) (T >)>>>) ( *600131*> <==? <1 .ERR> *601727*>> >> *400000*> 0> ) (T .ERR X$PLOAD>)>>> ; "Binary search of directory (in DV) for pcode's entry." ) (CNT ) (EXIT .CNT)) #DECL ((PC) T$PCODE (DV) (ID) FIX (CNT) FIX) > >> .UP>)> > > )> >>) (<==? .ID > ) (> 1>>> >>)> >>> ,SAV-HEADER-LEN>) PGN SADR NPGS) #DECL ((NPGS JFN RLEN SADR) FIX (PC) T$PCODE (PGN) ) >>> ,M$$MP-IDENT>>> > .PC I$MAP-IN>) (T > <> .NPGS> >)>> (DV) ]> (FS) T$ZONE (GCP) T$GC-PARAMS) ; "Get rid of pages" ; "Unmap directory pages" >>>> 2> ; "Say nothing is mapped in" >) ; "Forget where they are in the sav file, to allow us to compact it." >> )>>> .PV> ; "Flush channels to sav files" > > >)>> .DV>)>)> T>