X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=misc.c;h=cccf182b965d537aab3fd4109093cb982bfb1881;hb=495f4afbe02fe5b7dd37d5c654ec123a031cdf3e;hp=1224bc0cf4e56ad4ad669b5d83a644fd11737aa2;hpb=ab46b5261b3069badea188418c4e3254caa2aa43;p=open-adventure.git diff --git a/misc.c b/misc.c index 1224bc0..cccf182 100644 --- a/misc.c +++ b/misc.c @@ -215,7 +215,7 @@ L20: YEAH=false; } -/* Line-parsing routines (GETNUM, GETTXT, MAKEWD, PUTTXT, SHFTXT, TYPE0) +/* Line-parsing routines (GETTXT, MAKEWD, PUTTXT, SHFTXT, TYPE0) */ /* The routines on this page handle all the stuff that would normally be * taken care of by format statements. We do it this way instead so that @@ -223,39 +223,6 @@ L20: YEAH=false; * machine dependent i/o stuff is on the following page. See that page * for a description of MAPCOM's inline array. */ -long GETNUM(FILE *source) { -long DIGIT, NUMBER, SIGN; - -/* Obtain the next integer from an input line. If K>0, we first read a - * new input line from a file; if K<0, we read a line from the keyboard; - * if K=0 we use a line that has already been read (and perhaps partially - * scanned). If we're at the end of the line or encounter an illegal - * character (not a digit, hyphen, or blank), we return 0. */ - - - if(source != NULL)MAPLIN(source); - NUMBER=0; -L10: if(LNPOSN > LNLENG)return(NUMBER); - if(INLINE[LNPOSN] != 0) goto L20; - LNPOSN=LNPOSN+1; - goto L10; - -L20: SIGN=1; - if(INLINE[LNPOSN] != 9) goto L32; - SIGN= -1; -L30: LNPOSN=LNPOSN+1; -L32: if(LNPOSN > LNLENG || INLINE[LNPOSN] == 0) goto L42; - DIGIT=INLINE[LNPOSN]-64; - if(DIGIT < 0 || DIGIT > 9) goto L40; - NUMBER=NUMBER*10+DIGIT; - goto L30; - -L40: NUMBER=0; -L42: NUMBER=NUMBER*SIGN; - LNPOSN=LNPOSN+1; - return(NUMBER); -} - long GETTXT(long SKIP,long ONEWRD, long UPPER) { /* Take characters from an input line and pack them into 30-bit words. * Skip says to skip leading blanks. ONEWRD says stop if we come to a @@ -263,7 +230,6 @@ long GETTXT(long SKIP,long ONEWRD, long UPPER) { * end of the line, the word is filled up with blanks (which encode as 0's). * If we're already at end of line when TEXT is called, we return -1. */ - long CHAR; long TEXT; static long SPLITTING = -1; @@ -283,12 +249,12 @@ long GETTXT(long SKIP,long ONEWRD, long UPPER) { TEXT=TEXT*64; if(LNPOSN > LNLENG || (ONEWRD && INLINE[LNPOSN] == 0)) continue; - CHAR=INLINE[LNPOSN]; - if(CHAR < 63) { + char current=INLINE[LNPOSN]; + if(current < 63) { SPLITTING = -1; - if(UPPER && CHAR >= 37) - CHAR=CHAR-26; - TEXT=TEXT+CHAR; + if(UPPER && current >= 37) + current=current-26; + TEXT=TEXT+current; LNPOSN=LNPOSN+1; continue; } @@ -298,7 +264,7 @@ long GETTXT(long SKIP,long ONEWRD, long UPPER) { continue; } - TEXT=TEXT+CHAR-63; + TEXT=TEXT+current-63; SPLITTING = -1; LNPOSN=LNPOSN+1; } @@ -642,7 +608,7 @@ L2: AT=I; long SETBIT(long bit) { /* Returns 2**bit for use in constructing bit-masks. */ - 2 << bit; + return(2 << bit); } bool TSTBIT(long mask, int bit) {