) ; reccount = gval( ip->rcount ) ; home() ; nprinted = PAGESIZE ; for (j=reccount; j>0 && testcc() == 0 ; j--) { if ( (tp=gettext(firstrec++)) == 0 ) then { ceol24() ; putasciz("EOF on HELP file read") ; suspend(2) ; return(0) ; } else { temp = cvtstring(tp->c,TXTSIZE,0204) ; lastch = 0 ; cur = 0 ; docrlf = 1 ; for (i=0; ic[i] ) { case CONTSYM: if (lastch == LITCHAR) then s[cur++] = ch ; else docrlf = 0 ; break ; case ESCLEAD: if (lastch == LITCHAR) then s[cur++] = ch ; else s[cur++] = ESC ; break ; case LITCHAR: if (lastch == LITCHAR) then s[cur++] = ch ; break ; case PAGCHAR: if (lastch == LITCHAR) then s[cur++] = ch ; else nprinted = 0 ; break ; default: s[cur++] = ch ; break ; } lastch = ch ; } if ( cur ) then putbin(s,cur) ; if ( docrlf ) then putbin("\015\012",2) ; if ( docrlf && nprinted-- == 0 ) then { kpnormal() ; putasciz(contprompt) ; getbin() ; putbin("\015\012",0) ; sclear() ; kpapplication() ; nprinted = PAGESIZE ; } } } } } static struct txtrec *gettext(n) int n ; { register int vbn,off,status ; vbn = n / (512/TXTSIZE) + IDXBLKS + 1 ; off = n % TXTBLOCK ; if ( vbn != hlpctx[0] ) then { if ( (status=reahlp(hlbuffer->txtbuffer,vbn))==SYS_NORMAL ) then hlpctx[0] = vbn ; else return(0) ; } return( &hlbuffer->txtbuffer[off] ) ; } static struct idxrec *getindex(n) int n ; { register int vbn,off,status ; int i ; vbn = (n * IDXSIZE)/512 + 1 ; off = n % IDXBLOCK ; if ( vbn != hlpctx[0] ) then { if ( (status=reahlp(hlbuffer->idxbuffer,vbn))==SYS_NORMAL ) then hlpctx[0] = vbn ; else return(0) ; } return( &hlbuffer->idxbuffer[off] ) ; } static chkeof(s) register char *s ; { return( *s == '.' || *s == SPACE ) ; } static match(s1,s2) register char *s1,*s2 ; { int len1,len2 ; register int i ; extern char toupper() ; if ( (len1=strlen(s1)) != (len2=strlen(s2)) ) then return(0) ; else { for (i=len1; i>0;i-- ) if (toupper(*s1++) != toupper(*s2++)) then return(0) ; return(1) ; } } static gval(s) register char *s; { register int i,res ; res = 0 ; for (i=5; i>0 && *s == SPACE; i--) s++ ; if ( i == 0 ) then return(0) ; for ( ; i>0; i--) res = res*10 + (*s++ - '0') ; return(res) ; } static putasciz(s) char *s ; { putbin(s,0) ; } static prsys_error() { char s[80] ; geterror(s) ; xprintf("%s\n",s) ; } #if RSX /* local copy of GETFUNCOMMAND() */ /* */ /* GETFUNCOMMAND() is located in an adjacent overlay */ /* */ /* For VT100 and ANSI, return the third character from the */ /* escape sequence. For the VT220, return the 3rd character*/ /* if it's not a digit, else look ahead for another digit. */ /* Return numeric value of the digit string, 1..34 */ static int getfuncommand() { register int ch,ch1 ; extern int termtype ; switch( termtype ) { case _ANSI: case _VT100: case _VT220: vtgetc() ; ch = vtgetc() ; if ( isdigit(ch) ) then { ch1 = vtgetc() ; if ( isdigit(ch1) ) then { vtgetc() ; return( (ch-'0')*10 + (ch1-'0') ) ; } else return( ch-'0' ) ; } else return( ch ) ; } } #endif EDHDRVC [.050036]EDHDRV.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]Ze@@|> | |v<H|  |  |xz|  |zt f r   < &^ @&@'*/V,"?Lh:hmBmz|z{x`y~|fN|@@|@͂|@ ݃ƃ<ns