X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=misc.c;h=15932ece7022d7c9a0aeb84a42b9a0c7d5667137;hb=d93746d0789dc9bd7a9d1a380656680ce8be3c07;hp=e3e8320b5e4c6d67f7dbcd6b72ea69c476911f6f;hpb=24d7aeaf8a1dc13034884044139728045604fc37;p=open-adventure.git diff --git a/misc.c b/misc.c index e3e8320..15932ec 100644 --- a/misc.c +++ b/misc.c @@ -1,14 +1,16 @@ +#include +#include #include "main.h" #include "misc.h" -#include +#include "funcs.h" -#define TRUE (0==0) -#define FALSE (0!=0) +/* hack to ignore GCC Unused Result */ +#define IGNORE(r) do{if(r){}}while(0) /* I/O ROUTINES (SPEAK, PSPEAK, RSPEAK, SETPRM, GETIN, YES) */ #undef SPEAK -void fSPEAK(N)long N; { +void fSPEAK(long N) { long BLANK, CASE, I, K, L, NEG, NPARMS, PARM, PRMTYP, STATE; /* PRINT THE MESSAGE WHICH STARTS AT LINES(N). PRECEDE IT WITH A BLANK LINE @@ -101,7 +103,7 @@ L380: SHFTXT(LNPOSN+2,-2); goto L32; L40: if(BLANK)TYPE0(); - BLANK=FALSE; + BLANK=false; TYPE(); K=L+1; if(LINES[K] >= 0) goto L10; @@ -112,7 +114,7 @@ L40: if(BLANK)TYPE0(); #define SPEAK(N) fSPEAK(N) #undef PSPEAK -void fPSPEAK(MSG,SKIP)long MSG, SKIP; { +void fPSPEAK(long MSG,long SKIP) { long I, M; /* FIND THE SKIP+1ST MESSAGE FROM MSG AND PRINT IT. MSG SHOULD BE THE INDEX OF @@ -134,7 +136,7 @@ L9: SPEAK(M); #define PSPEAK(MSG,SKIP) fPSPEAK(MSG,SKIP) #undef RSPEAK -void fRSPEAK(I)long I; { +void fRSPEAK(long I) { ; /* PRINT THE I-TH "RANDOM" MESSAGE (SECTION 6 OF DATABASE). */ @@ -148,7 +150,7 @@ void fRSPEAK(I)long I; { #define RSPEAK(I) fRSPEAK(I) #undef SETPRM -void fSETPRM(FIRST,P1,P2)long FIRST, P1, P2; { +void fSETPRM(long FIRST, long P1, long P2) { ; /* STORES PARAMETERS INTO THE PRMCOM PARMS ARRAY FOR USE BY SPEAK. P1 AND P2 @@ -169,7 +171,7 @@ void fSETPRM(FIRST,P1,P2)long FIRST, P1, P2; { #define WORD1X (*wORD1X) #define WORD2 (*wORD2) #define WORD2X (*wORD2X) -void fGETIN(wORD1,wORD1X,wORD2,wORD2X)long *wORD1, *wORD1X, *wORD2, *wORD2X; { +void fGETIN(long *wORD1, long *wORD1X, long *wORD2, long *wORD2X) { long JUNK; /* GET A COMMAND FROM THE ADVENTURER. SNARF OUT THE FIRST WORD, PAD IT WITH @@ -180,17 +182,17 @@ long JUNK; L10: if(BLKLIN)TYPE0(); - MAPLIN(FALSE); - WORD1=GETTXT(TRUE,TRUE,TRUE,0); + MAPLIN(false); + WORD1=GETTXT(true,true,true,0); if(BLKLIN && WORD1 < 0) goto L10; - WORD1X=GETTXT(FALSE,TRUE,TRUE,0); -L12: JUNK=GETTXT(FALSE,TRUE,TRUE,0); + WORD1X=GETTXT(false,true,true,0); +L12: JUNK=GETTXT(false,true,true,0); if(JUNK > 0) goto L12; - WORD2=GETTXT(TRUE,TRUE,TRUE,0); - WORD2X=GETTXT(FALSE,TRUE,TRUE,0); -L22: JUNK=GETTXT(FALSE,TRUE,TRUE,0); + WORD2=GETTXT(true,true,true,0); + WORD2X=GETTXT(false,true,true,0); +L22: JUNK=GETTXT(false,true,true,0); if(JUNK > 0) goto L22; - if(GETTXT(TRUE,TRUE,TRUE,0) <= 0)return; + if(GETTXT(true,true,true,0) <= 0)return; RSPEAK(53); goto L10; } @@ -203,7 +205,7 @@ L22: JUNK=GETTXT(FALSE,TRUE,TRUE,0); #undef WORD2X #define GETIN(WORD1,WORD1X,WORD2,WORD2X) fGETIN(&WORD1,&WORD1X,&WORD2,&WORD2X) #undef YES -long fYES(X,Y,Z)long X, Y, Z; { +long fYES(long X, long Y, long Z) { long YES, REPLY, JUNK1, JUNK2, JUNK3; @@ -216,10 +218,10 @@ L1: RSPEAK(X); if(REPLY == MAKEWD(1415) || REPLY == MAKEWD(14)) goto L20; RSPEAK(185); goto L1; -L10: YES=TRUE; +L10: YES=true; RSPEAK(Y); return(YES); -L20: YES=FALSE; +L20: YES=false; RSPEAK(Z); return(YES); } @@ -239,7 +241,7 @@ L20: YES=FALSE; #define YES(X,Y,Z) fYES(X,Y,Z) #undef GETNUM -long fGETNUM(K)long K; { +long fGETNUM(long K) { long DIGIT, GETNUM, SIGN; /* OBTAIN THE NEXT INTEGER FROM AN INPUT LINE. IF K>0, WE FIRST READ A @@ -276,7 +278,7 @@ L42: GETNUM=GETNUM*SIGN; #define GETNUM(K) fGETNUM(K) #undef GETTXT -long fGETTXT(SKIP,ONEWRD,UPPER,HASH)long HASH, ONEWRD, SKIP, UPPER; { +long fGETTXT(long SKIP,long ONEWRD, long UPPER, long HASH) { long CHAR, GETTXT, I; static long SPLITTING = -1; /* TAKE CHARACTERS FROM AN INPUT LINE AND PACK THEM INTO 30-BIT WORDS. @@ -324,7 +326,7 @@ L15: /*etc*/ ; #define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH) #undef MAKEWD -long fMAKEWD(LETTRS)long LETTRS; { +long fMAKEWD(long LETTRS) { long I, L, MAKEWD; /* COMBINE FIVE UPPERCASE LETTERS (REPRESENTED BY PAIRS OF DECIMAL DIGITS @@ -353,7 +355,7 @@ L10: MAKEWD=MAKEWD+I*(MOD(L,50)+10); #define MAKEWD(LETTRS) fMAKEWD(LETTRS) #undef PUTTXT #define STATE (*sTATE) -void fPUTTXT(WORD,sTATE,CASE,HASH)long CASE, HASH, *sTATE, WORD; { +void fPUTTXT(long WORD, long *sTATE, long CASE, long HASH) { long ALPH1, ALPH2, BYTE, DIV, I, W; /* UNPACK THE 30-BIT VALUE IN WORD TO OBTAIN UP TO 5 INTEGER-ENCODED CHARS, @@ -398,7 +400,7 @@ L18: W=(W-BYTE*DIV)*64; #undef STATE #define PUTTXT(WORD,STATE,CASE,HASH) fPUTTXT(WORD,&STATE,CASE,HASH) #undef SHFTXT -void fSHFTXT(FROM,DELTA)long DELTA, FROM; { +void fSHFTXT(long FROM, long DELTA) { long I, II, JJ; /* MOVE INLINE(N) TO INLINE(N+DELTA) FOR N=FROM,LNLENG. DELTA CAN BE @@ -442,8 +444,7 @@ long TEMP; /* SUSPEND/RESUME I/O ROUTINES (SAVWDS, SAVARR, SAVWRD) */ #undef SAVWDS -void fSAVWDS(W1,W2,W3,W4,W5,W6,W7)long *W1, *W2, *W3, *W4, *W5, *W6, *W7; { -; +void fSAVWDS(long *W1, long *W2, long *W3, long *W4, long *W5, long *W6, long *W7) { /* WRITE OR READ 7 VARIABLES. SEE SAVWRD. */ @@ -461,7 +462,7 @@ void fSAVWDS(W1,W2,W3,W4,W5,W6,W7)long *W1, *W2, *W3, *W4, *W5, *W6, *W7; { #define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7) #undef SAVARR -void fSAVARR(ARR,N)long ARR[], N; { +void fSAVARR(long ARR[], long N) { long I; /* WRITE OR READ AN ARRAY OF N WORDS. SEE SAVWRD. */ @@ -478,7 +479,7 @@ L1: SAVWRD(0,ARR[I]); #define SAVARR(ARR,N) fSAVARR(ARR,N) #undef SAVWRD #define WORD (*wORD) -void fSAVWRD(OP,wORD)long OP, *wORD; { +void fSAVWRD(long OP, long *wORD) { static long BUF[250], CKSUM = 0, H1, HASH = 0, N = 0, STATE = 0; /* IF OP<0, START WRITING A FILE, USING WORD TO INITIALISE ENCRYPTION; SAVE @@ -515,7 +516,7 @@ L10: STATE=OP; L13: CKSUM=BUF[0]; return; -L15: SAVEIO(1,TRUE,BUF); +L15: SAVEIO(1,true,BUF); HASH=MOD(1234L*5678L-BUF[0],1048576L); goto L13; @@ -523,7 +524,7 @@ L30: if(N == 250)SAVEIO(1,STATE > 0,BUF); N=MOD(N,250)+1; if(STATE > 0) goto L32; N--; BUF[N]=CKSUM; N++; - SAVEIO(1,FALSE,BUF); + SAVEIO(1,false,BUF); L32: N--; WORD=BUF[N]-CKSUM; N++; SAVEIO(-1,STATE > 0,BUF); STATE=0; @@ -540,7 +541,7 @@ L32: N--; WORD=BUF[N]-CKSUM; N++; #undef WORD #define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD) #undef VOCAB -long fVOCAB(ID,INIT)long ID, INIT; { +long fVOCAB(long ID, long INIT) { long HASH, I, VOCAB; /* LOOK UP ID IN THE VOCABULARY (ATAB) AND RETURN ITS "DEFINITION" (KTAB), OR @@ -573,7 +574,7 @@ L3: VOCAB=KTAB[I]; #define VOCAB(ID,INIT) fVOCAB(ID,INIT) #undef DSTROY -void fDSTROY(OBJECT)long OBJECT; { +void fDSTROY(long OBJECT) { ; /* PERMANENTLY ELIMINATE "OBJECT" BY MOVING TO A NON-EXISTENT LOCATION. */ @@ -839,9 +840,9 @@ void fBUG(NUM)long NUM; { * 28 INVALID MONTH RETURNED BY DATE FUNCTION * 29 TOO MANY PARAMETERS GIVEN TO SETPRM */ - printf("Fatal error %d. See source code for interpretation.\n", + printf("Fatal error %ld. See source code for interpretation.\n", NUM); - exit(FALSE); + exit(0); } @@ -888,19 +889,15 @@ long I, VAL; static FILE *OPENED = NULL; if(MAP2[1] == 0)MPINIT(); if(FIL) goto L15; - gets(INLINE+1); + IGNORE(fgets(INLINE+1, sizeof(INLINE)-1, stdin)); if(feof(stdin)) score(1); goto L20; L15: if(!OPENED){ -#ifdef AMIGA - OPENED=fopen("ram:adventure.text","r" /* NOT binary */); - if(!OPENED) -#endif OPENED=fopen("adventure.text","r" /* NOT binary */); - if(!OPENED){printf("Can't read adventure.text!\n"); exit(FALSE);} + if(!OPENED){printf("Can't read adventure.text!\n"); exit(0);} } - fgets(INLINE+1,100,OPENED); + IGNORE(fgets(INLINE+1,100,OPENED)); L20: LNLENG=0; /* 25 */ for (I=1; I<=100 && INLINE[I]!=0; I++) { @@ -1002,12 +999,12 @@ L10: fclose(F); return; L20: printf("\nFile name: "); - gets(NAME); + IGNORE(fgets(NAME, sizeof(NAME), stdin)); F=fopen(NAME,(IN ? READ_MODE : WRITE_MODE)); if(F == NULL) {printf("Can't open file, try again.\n"); goto L20;} return; -L30: if(IN)fread(ARR,4,250,F); +L30: if(IN)IGNORE(fread(ARR,4,250,F)); if(!IN)fwrite(ARR,4,250,F); return;