use char, not signed char

This commit is contained in:
Michael Jarvis 2017-06-01 17:45:29 -05:00
parent dbe02a31a2
commit 40ccd3d80d
3 changed files with 13 additions and 16 deletions

View file

@ -21,7 +21,7 @@ const char ascii_to_advent[] = {0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 0, 0, 85,
// Global variables for use in functions below that can gradually disappear as code is cleaned up // Global variables for use in functions below that can gradually disappear as code is cleaned up
long LNLENG; long LNLENG;
long LNPOSN; long LNPOSN;
signed char INLINE[LINESIZE+1]; char INLINE[LINESIZE+1];
long I; long I;
long K; long K;
long KK; long KK;
@ -195,12 +195,12 @@ void MAPLIN(FILE *OPENED) {
fgets(INLINE + 1, sizeof(INLINE) - 1, OPENED); fgets(INLINE + 1, sizeof(INLINE) - 1, OPENED);
} }
while (!feof(OPENED) && INLINE[1] == '#'); while (!feof(OPENED) && INLINE[1] == '#');
LNLENG = 0; LNLENG = 0;
for (int i = 1; i <= sizeof(INLINE) && INLINE[i] != 0; ++i) for (size_t i = 1; i <= sizeof(INLINE) && INLINE[i] != 0; ++i)
{ {
char val = INLINE[i] + 1; char val = INLINE[i] + 1;
INLINE[i] = ascii_to_advent[val]; INLINE[i] = ascii_to_advent[(unsigned)val];
if (INLINE[i] != 0) if (INLINE[i] != 0)
LNLENG = i; LNLENG = i;
} }
@ -213,7 +213,7 @@ long GETNUM(FILE *source) {
* if K=0 we use a line that has already been read (and perhaps partially * 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 * scanned). If we're at the end of the line or encounter an illegal
* character (not a digit, hyphen, or blank), we return 0. */ * character (not a digit, hyphen, or blank), we return 0. */
long DIGIT, GETNUM, SIGN; long DIGIT, GETNUM, SIGN;
if(source != NULL) MAPLIN(source); if(source != NULL) MAPLIN(source);
@ -242,7 +242,7 @@ L42: GETNUM=GETNUM*SIGN;
} }
int read_database(FILE* database) { int read_database(FILE* database) {
/* Clear out the various text-pointer arrays. All text is stored in array /* Clear out the various text-pointer arrays. All text is stored in array
* lines; each line is preceded by a word pointing to the next pointer (i.e. * lines; each line is preceded by a word pointing to the next pointer (i.e.
* the word following the end of the line). The pointer is negative if this is * the word following the end of the line). The pointer is negative if this is
@ -497,7 +497,7 @@ void write_files(FILE* c_file, FILE* header_file)
// include the header in the C file // include the header in the C file
fprintf(c_file, "#include \"database.h\"\n"); fprintf(c_file, "#include \"database.h\"\n");
fprintf(c_file, "\n"); fprintf(c_file, "\n");
// content variables // content variables
write_0d(c_file, header_file, LINUSE, "LINUSE"); write_0d(c_file, header_file, LINUSE, "LINUSE");
write_0d(c_file, header_file, TRVS, "TRVS"); write_0d(c_file, header_file, TRVS, "TRVS");
@ -528,11 +528,8 @@ void write_files(FILE* c_file, FILE* header_file)
write_hints(c_file, header_file, HINTS, HNTSIZ + 1, 5, "HINTS"); write_hints(c_file, header_file, HINTS, HNTSIZ + 1, 5, "HINTS");
} }
int main(int argc, char** argv) int main()
{ {
argc = argc;
argv = argv;
FILE* database = fopen("adventure.text", "r"); FILE* database = fopen("adventure.text", "r");
read_database(database); read_database(database);
fclose(database); fclose(database);
@ -542,6 +539,6 @@ int main(int argc, char** argv)
write_files(c_file, header_file); write_files(c_file, header_file);
fclose(c_file); fclose(c_file);
fclose(header_file); fclose(header_file);
return(EXIT_SUCCESS); return(EXIT_SUCCESS);
} }

6
main.c
View file

@ -18,7 +18,7 @@ long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
LINK[201], LNLENG, LNPOSN, LINK[201], LNLENG, LNPOSN,
PARMS[26], PLACE[101], PARMS[26], PLACE[101],
SETUP = 0; SETUP = 0;
signed char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129]; char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS, long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2, BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
@ -141,7 +141,7 @@ L1: SETUP= -1;
if (logfp) if (logfp)
fprintf(logfp, "seed %ld\n", seedval); fprintf(logfp, "seed %ld\n", seedval);
for (;;) { for (;;) {
if (!do_command(stdin)) if (!do_command(stdin))
break; break;
@ -149,7 +149,7 @@ L1: SETUP= -1;
score(1); score(1);
} }
static bool fallback_handler(signed char *buf) static bool fallback_handler(char *buf)
/* fallback handler for commands not handled by FORTRANish parser */ /* fallback handler for commands not handled by FORTRANish parser */
{ {
long sv; long sv;

2
main.h
View file

@ -10,7 +10,7 @@ typedef struct lcg_state
extern long ABB[], ATLOC[], BLKLIN, DFLAG, DLOC[], FIXED[], HOLDNG, extern long ABB[], ATLOC[], BLKLIN, DFLAG, DLOC[], FIXED[], HOLDNG,
LINK[], LNLENG, LNPOSN, LINK[], LNLENG, LNPOSN,
PARMS[], PLACE[]; PARMS[], PLACE[];
extern signed char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[], MAP2[]; extern char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[], MAP2[];
extern FILE *logfp; extern FILE *logfp;
extern bool oldstyle; extern bool oldstyle;
extern lcg_state lcgstate; extern lcg_state lcgstate;