*/ firbucket[i] = 1 ; /* first_bucket_in_workfile = 1 */ win_maxline[i] = 0 ; if ( i != 0 && tempopen == 0 ) then { win_workpt[i] = getvm(50,i,&indexsize[i]) ; } } if ( tempopen == 0 ) then if ( (win_workpt[0] = getvm(INIT_SIZE,0,&indexsize[0])) == 0 ) then { tederror("Failure to allocate virtual memory for index") ; return(0) ; } ; workpt = win_workpt[0] ; windpt = &window[0] ; wptset() ; maxline = &win_maxline[0] ; w = 0 ; worddelim[0] = 0 ; maxfilesize = _FILESIZE ; lastdeleted.lastline.partial = 1 ; lastdeleted.lastline.len = 0 ; lastdeleted.lastword.len = 0 ; lastdeleted.lastc = 0 ; sts_one = 0 ; sts_two = 0 ; ip = &tempstat ; *ip++ = 0 ; /* tempstat.writes = 0 */ *ip++ = 0 ; /* tempstat.reads = 0 */ *ip++ = 0 ; /* tempstat.r_faults = 0 */ *ip++ = 0 ; /* tempstat.w_faults = 0 */ *ip++ = 0 ; /* tempstat.hits = 0 */ maxlen = _maxlen ; if (pageinit()==0) /* allocate buffer and setup */ then { /* control structures for the */ tederror("pageinit failed on memory allocation") ; return(0) ; } if ( tempopen ) /* perhaps we need to open it */ then status = SYS_NORMAL ; /* no, must be doing wildcards */ else status = cretmp() ; /* create the workfile */ tempopen++ ; /* flag workfile being open */ return(status) ; /* returning with create status */ } /* Procedure IFL( channel ) Read the input file and initialize and load the work file */ #define ESC 033 ifl(lun) int lun ; { int cctyped ; extern int vir_pagecount ; register int status ; register char ch ; register char *cp, *oldcp ; register int curlen,i ; long character_count ; char dbuff[20] ; w = 0 ; cctyped = 0 ; status = init_temp(); if (status != SYS_NORMAL) return( status ); if (infisize > vir_pagecount) then pageoff(w) ; character_count = 0 ; status = SYS_NORMAL ; if ( lun != kblun ) then while (status == SYS_NORMAL && ( cctyped=testcc() ) == 0 ) { status = getline(lun,&inline.c[0],&inline.len); if ( status == SYS_TOOLONG ) then { status = SYS_NORMAL ; xprintf("Record truncated at line %d\n",*maxline + 1) ; } if ( status != SYS_NORMAL ) then break ; curlen = 0 ; cp = inline.c ; oldcp = cp ; for (i=inline.len; i>0; i--) { if ( ( ch = *cp++ ) == ESC ) then escprint = 1 ; if (ch == LF) then { ins_line(oldcp,++curlen) ; character_count += curlen ; curlen = 0 ; oldcp = cp ; (*maxline)++ ; } else curlen++ ; } if ( curlen ) then { ins_line( oldcp,curlen ) ; character_count += curlen ; (*maxline)++ ; } } else status = ER_EOF ; if ( cctyped ) then { xprintf("File load aborted on Control C interupt\n"); return(0) ; } ; if ( status != ER_EOF ) then return( status ); if ( *maxline == 0 ) then { character_count += 2 ; (*maxline)++ ; ins_line("\015\012",2) ; } inline.len = 1 ; inline.c[0] = '@' ; (*maxline)++ ; ins_line( inline.c,1 ) ; putlast ( inline.c,1 ) ; if (sizeof(int) == 4) then xprintf("\n%d characters %d lines\n",character_count,*maxline-1); else { cvtdd(dbuff,&character_count) ; xprintf("\n%s characters %d lines\n",dbuff,*maxline-1) ; } ; maxbucket[w] = lstbucket[w] ; (_gworkpt(lstbucket[w]))->link = 0 ; linecount[w] = 0 ; windpt->toplin = 0 ; pageon(w) ; setcc() ; ifl_alternates() ; return( SYS_NORMAL ) ; } ifl_alternates() { for (w = 1; w < NWINDOWS; w++ ) { workpt = win_workpt[w] ; maxline = &win_maxline[w] ; windpt = &window[w] ; wptset() ; curmode[w] = st_ifl ; (*maxline)++ ; ins_line("\015\012",2) ; (*maxline)++ ; ins_line("@",1) ; putlast("@",1) ; maxbucket[w] = lstbucket[w] ; (_gworkpt(lstbucket[w]))->link = 0 ; linecount[w] = 0 ; windpt->toplin = 0 ; } w = 0 ; workpt = win_workpt[0] ; maxline = &win_maxline[0] ; windpt = &window[0] ; wptset() ; } EDIFL C [.050036]EDIFL .C [.050036]   X14|H [4;Ik(&'( k ߫H&P` \RrPP2PPzPP{PPPPP2P~\$\\TD 0D \~ hi) +\ ^( n ^( np\^txY\^ˀ\!kVk<\F˰<˴ˬ\VVkˤ1`@lP ABCDEFGHIJKLMNOPQRSTUVWXYZ$.?0123456789<@<SЬTЬ UQS>?\\\\\\\\\`:#@'="\abcdefghi\\\\\\\jklmnopqr\\\\\\\~stuvwxyz\\\\\\\\\\\\\\\\\\\\\\{ABCDEFGHI\\\\\\}JKLMNOPQR\\\\\\\\STUVWXYZ\\\\\\0123456789\\\\\  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@ggh<i|o<m<4p<p<k|Zn<l fr rwx<x<x<x޺<w@]@@fjnr]