From: Eric S. Raymond Date: Fri, 9 Jun 2017 15:36:49 +0000 (-0400) Subject: Abolish a silly layer of macros. X-Git-Tag: 1.1~475 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=db8dc40b8491009182db9640a2ce010fe6b428bf;p=open-adventure.git Abolish a silly layer of macros. --- diff --git a/actions.c b/actions.c index 6a6448b..8ddd369 100644 --- a/actions.c +++ b/actions.c @@ -81,7 +81,7 @@ static int attack(FILE *input, long verb, long obj) * fixed), move rug there (not fixed), and move him there, * too. Then do a null motion to get new description. */ RSPEAK(49); - GETIN(input,WD1,WD1X,WD2,WD2X); + GETIN(input,&WD1,&WD1X,&WD2,&WD2X); if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519)) return(2607); PSPEAK(DRAGON,3); diff --git a/advent.h b/advent.h index 5cda6ea..6b2fac3 100644 --- a/advent.h +++ b/advent.h @@ -89,17 +89,11 @@ extern void SPEAK(vocab_t); extern void PSPEAK(vocab_t,int); extern void RSPEAK(vocab_t); extern void SETPRM(long,long,long); - -extern bool fGETIN(FILE *,token_t*,token_t*,token_t*,token_t*); -#define GETIN(input,WORD1,WORD1X,WORD2,WORD2X) fGETIN(input,&WORD1,&WORD1X,&WORD2,&WORD2X) - +extern bool GETIN(FILE *,token_t*,token_t*,token_t*,token_t*); extern long YES(FILE *,vocab_t,vocab_t,vocab_t); extern long GETTXT(bool,bool,bool); extern token_t MAKEWD(long); - -extern void fPUTTXT(token_t,long*,long); -#define PUTTXT(WORD,STATE,CASE) fPUTTXT(WORD,&STATE,CASE) - +extern void PUTTXT(token_t,long*,long); extern void SHFTXT(long,long); extern void TYPE0(void); diff --git a/main.c b/main.c index 4934c95..335f105 100644 --- a/main.c +++ b/main.c @@ -574,7 +574,7 @@ L2603: if(game.closed) { game.knfloc=0; /* This is where we get a new command from the user */ - if (!GETIN(cmdin, WD1,WD1X,WD2,WD2X)) + if (!GETIN(cmdin, &WD1,&WD1X,&WD2,&WD2X)) return false; /* Every input, check "game.foobar" flag. If zero, nothing's diff --git a/misc.c b/misc.c index cfca544..39fafd2 100644 --- a/misc.c +++ b/misc.c @@ -32,7 +32,7 @@ void SPEAK(vocab_t msg) LNPOSN=1; state=0; for (i = msg; i <= nxt; i++) { - PUTTXT(LINES[i],state,2); + PUTTXT(LINES[i],&state,2); } LNPOSN=0; ++LNPOSN; @@ -69,7 +69,7 @@ void SPEAK(vocab_t msg) while (PARMS[nparms] > 0) { if (PARMS[nparms+1] < 0) casemake=0; - PUTTXT(PARMS[nparms],state,casemake); + PUTTXT(PARMS[nparms],&state,casemake); nparms=nparms+1; } ++nparms; @@ -96,8 +96,8 @@ void SPEAK(vocab_t msg) if (prmtyp == 33) casemake=0; i = LNPOSN; - PUTTXT(PARMS[nparms],state,casemake); - PUTTXT(PARMS[nparms+1],state,casemake); + PUTTXT(PARMS[nparms],&state,casemake); + PUTTXT(PARMS[nparms+1],&state,casemake); if (prmtyp == 13 && INLINE[i] >= 37 && INLINE[i] <= 62) INLINE[i] -= 26; nparms += 2; @@ -176,7 +176,7 @@ void SETPRM(long first, long p1, long p2) } } -bool fGETIN(FILE *input, +bool GETIN(FILE *input, long *pword1, long *pword1x, long *pword2, long *pword2x) /* Get a command from the adventurer. Snarf out the first word, pad it with @@ -221,7 +221,7 @@ long YES(FILE *input, vocab_t x, vocab_t y, vocab_t z) for (;;) { RSPEAK(x); - GETIN(input, reply,junk1,junk2,junk3); + GETIN(input, &reply, &junk1, &junk2, &junk3); if (reply == MAKEWD(250519) || reply == MAKEWD(25)) { RSPEAK(y); return true; @@ -306,7 +306,7 @@ token_t MAKEWD(long letters) return word; } -void fPUTTXT(token_t word, long *state, long casemake) +void PUTTXT(token_t word, long *state, long casemake) /* Unpack the 30-bit value in word to obtain up to TOKLEN (currently * 5) integer-encoded chars, and store them in inline starting at * LNPOSN. If LNLENG>=LNPOSN, shift existing characters to the right