resolve 48 warning building on Mac OS X

This commit is contained in:
nhmall
2019-11-28 22:48:57 -05:00
parent 8ac2ae3a64
commit ff39e44276
2 changed files with 72 additions and 46 deletions

2
util/.gitignore vendored
View File

@@ -19,6 +19,8 @@ gif2txt
txt2ppm txt2ppm
tile2img.ttp tile2img.ttp
xpm2ppm.ttp xpm2ppm.ttp
nethack.tags
readtags
# dev tool for analyzing data collected by nethack's #define MONITOR_HEAP # dev tool for analyzing data collected by nethack's #define MONITOR_HEAP
heaputil heaputil
heaputil.c heaputil.c

View File

@@ -76,20 +76,28 @@ static void quit(void);
static void out_of_memory(void); static void out_of_memory(void);
static void doline(char *); static void doline(char *);
static void chain(struct tagstruct *); static void chain(struct tagstruct *);
#if 0
static void showthem(void); static void showthem(void);
static char *stripspecial(char *); static char *stripspecial(char *);
#endif
static char *deblank(char *); static char *deblank(char *);
static char *deeol(char *); static char *deeol(char *);
static void generate_c_files(); static void generate_c_files();
static char *findtype(char *, char *); static char *findtype(char *, char *);
#if 0
static boolean FDECL(is_prim, (char *)); static boolean FDECL(is_prim, (char *));
#endif
static void taglineparse(char *, struct tagstruct *); static void taglineparse(char *, struct tagstruct *);
static void parseExtensionFields(struct tagstruct *, char *); static void parseExtensionFields(struct tagstruct *, char *);
static void set_member_array_size(struct tagstruct *); static void set_member_array_size(struct tagstruct *);
#if 0
static char *member_array_dims(struct tagstruct *, char *); static char *member_array_dims(struct tagstruct *, char *);
static char *member_array_size(struct tagstruct *, char *); static char *member_array_size(struct tagstruct *, char *);
#endif
static void output_types(FILE *); static void output_types(FILE *);
#if 0
static char *FDECL(dtmacro,(const char *,int)); static char *FDECL(dtmacro,(const char *,int));
#endif
static char *FDECL(dtfn,(const char *,int, boolean *)); static char *FDECL(dtfn,(const char *,int, boolean *));
static char *FDECL(bfsize,(const char *)); static char *FDECL(bfsize,(const char *));
static char *FDECL(fieldfix,(char *,char *)); static char *FDECL(fieldfix,(char *,char *));
@@ -242,7 +250,7 @@ struct needs_array_handling nah[] = {
}; };
/* conditional code tags - eecch */ /* conditional code tags - eecch */
char *condtag[] = { const char *condtag[] = {
#ifdef SYSFLAGS #ifdef SYSFLAGS
"sysflag","altmeta","#ifdef AMIFLUSH", "", "sysflag","altmeta","#ifdef AMIFLUSH", "",
"sysflag","amiflush","","#endif /*AMIFLUSH*/", "sysflag","amiflush","","#endif /*AMIFLUSH*/",
@@ -296,10 +304,10 @@ char *argv[];
return 0; return 0;
} }
static void doline(line) static void doline(aline)
char *line; char *aline;
{ {
char buf[255], *tmp1 = (char *)0; char buf[255];
struct tagstruct *tmptag = malloc(sizeof(struct tagstruct)); struct tagstruct *tmptag = malloc(sizeof(struct tagstruct));
if (!tmptag) { if (!tmptag) {
@@ -307,12 +315,12 @@ char *line;
} }
*tmptag = zerotag; *tmptag = zerotag;
if (!line || (line && *line == '!')) { if (!aline || (aline && *aline == '!')) {
free(tmptag); free(tmptag);
return; return;
} }
strncpy(buf, deeol(line), 254); strncpy(buf, deeol(aline), 254);
taglineparse(buf,tmptag); taglineparse(buf,tmptag);
chain(tmptag); chain(tmptag);
return; return;
@@ -348,6 +356,11 @@ static void out_of_memory()
quit(); quit();
} }
#if 0
static char empt[] = {0, 0, 0, 0, 0, 0, 0, 0};
#endif
#if 0
static char *member_array_dims(struct tagstruct *tmptag, char *buf) static char *member_array_dims(struct tagstruct *tmptag, char *buf)
{ {
if (buf && tmptag) { if (buf && tmptag) {
@@ -357,7 +370,7 @@ static char *member_array_dims(struct tagstruct *tmptag, char *buf)
Sprintf(eos(buf), "[%s]", tmptag->arraysize2); Sprintf(eos(buf), "[%s]", tmptag->arraysize2);
return buf; return buf;
} }
return ""; return empt;
} }
static char *member_array_size(struct tagstruct *tmptag, char *buf) static char *member_array_size(struct tagstruct *tmptag, char *buf)
@@ -369,17 +382,18 @@ static char *member_array_size(struct tagstruct *tmptag, char *buf)
Sprintf(eos(buf), " * %s", tmptag->arraysize2); Sprintf(eos(buf), " * %s", tmptag->arraysize2);
return buf; return buf;
} }
return ""; return empt;
} }
#endif
void set_member_array_size(struct tagstruct *tmptag) void set_member_array_size(struct tagstruct *tmptag)
{ {
char buf[BUFSZ]; char buf[BUFSZ];
static char result[49]; /* static char result[49]; */
char *arr1 = (char *)0, *arr2 = (char *)0, *tmp; char *arr1 = (char *)0, *arr2 = (char *)0, *tmp;
int cnt = 0; int cnt = 0;
if (!tmptag || (tmptag && !tmptag->searchtext)) return; if (!tmptag) return;
strcpy(buf, tmptag->searchtext); strcpy(buf, tmptag->searchtext);
tmptag->arraysize1[0] = '\0'; tmptag->arraysize1[0] = '\0';
@@ -512,7 +526,7 @@ struct tagstruct *tmptag;
set_member_array_size(tmptag); set_member_array_size(tmptag);
/* determine if this is a pointer and mark it as such */ /* determine if this is a pointer and mark it as such */
if (tmptag->searchtext && if (tmptag->searchtext[0] &&
(tmptag->tagtype == 'm' || tmptag->tagtype == 's')) { (tmptag->tagtype == 'm' || tmptag->tagtype == 's')) {
char ptrbuf[BUFSZ], searchbuf[BUFSZ]; char ptrbuf[BUFSZ], searchbuf[BUFSZ];
@@ -558,6 +572,7 @@ char *s;
static char stripbuf[255]; static char stripbuf[255];
#if 0
static char *stripspecial(char *st) static char *stripspecial(char *st)
{ {
char *out = stripbuf; char *out = stripbuf;
@@ -567,11 +582,12 @@ static char *stripspecial(char *st)
if (*st >= SPACE) if (*st >= SPACE)
*out++ = *st++; *out++ = *st++;
else else
*st++; st++;
} }
*out = '\0'; *out = '\0';
return stripbuf; return stripbuf;
} }
#endif
static char *deblank(char *st) static char *deblank(char *st)
{ {
@@ -624,6 +640,7 @@ static void showthem()
} }
#endif #endif
#if 0
static boolean static boolean
is_prim(sdt) is_prim(sdt)
char *sdt; char *sdt;
@@ -644,6 +661,7 @@ char *sdt;
} }
return FALSE; return FALSE;
} }
#endif
char * char *
findtype(st, tag) findtype(st, tag)
@@ -652,7 +670,9 @@ char *tag;
{ {
static char ftbuf[512]; static char ftbuf[512];
static char prevbuf[512]; static char prevbuf[512];
char *tmp1, *tmp2, *tmp3, *tmp4, *r; char *tmp1, *tmp2, *tmp3, *tmp4;
const char *r;
if (!st) return (char *)0; if (!st) return (char *)0;
if (st[0] == '/' && st[1] == '^') { if (st[0] == '/' && st[1] == '^') {
tmp2 = tmp3 = tmp4 = (char *)0; tmp2 = tmp3 = tmp4 = (char *)0;
@@ -707,7 +727,7 @@ char *tag;
tmp2 = strstr(ftbuf, tag); tmp2 = strstr(ftbuf, tag);
return prevbuf; return prevbuf;
} else { } else {
/* a comma means that more than one thing declared on line */ /* a comma means that more than one thing declared on ine */
tmp3 = strchr(tmp1, ','); tmp3 = strchr(tmp1, ',');
tmp2 = strstr(tmp1, tag); tmp2 = strstr(tmp1, tag);
} }
@@ -748,9 +768,9 @@ char *tag;
y = 1; y = 1;
} }
if (strncmpi(ftbuf, "struct ", 7) == 0) if (strncmpi(ftbuf, "struct ", 7) == 0)
r = ftbuf + 7; r = (const char *) (ftbuf + 7);
else if (strncmpi(ftbuf, "union ", 6) == 0) else if (strncmpi(ftbuf, "union ", 6) == 0)
r = ftbuf + 6; r = (const char *) (ftbuf + 6);
/* a couple of kludges follow unfortunately */ /* a couple of kludges follow unfortunately */
else if (strncmpi(ftbuf, "coord", 5) == 0) else if (strncmpi(ftbuf, "coord", 5) == 0)
r = "nhcoord"; r = "nhcoord";
@@ -759,9 +779,9 @@ char *tag;
else if (strncmpi(ftbuf, "const char", 10) == 0) else if (strncmpi(ftbuf, "const char", 10) == 0)
r = "char"; r = "char";
else else
r = ftbuf; r = (const char *) ftbuf;
strcpy(prevbuf, r); strcpy(prevbuf, r);
return r; return prevbuf;
} }
} }
prevbuf[0] = '\0'; prevbuf[0] = '\0';
@@ -835,7 +855,7 @@ int n;
static void output_types(fp1) static void output_types(fp1)
FILE *fp1; FILE *fp1;
{ {
int k, cnt, hcnt = 1; int k, cnt /*, hcnt = 1 */;
struct tagstruct *t = first; struct tagstruct *t = first;
Fprintf(fp1, "%s", Fprintf(fp1, "%s",
@@ -888,12 +908,12 @@ static void generate_c_files()
#else #else
time_t clocktim = 0; time_t clocktim = 0;
#endif #endif
char *c, cbuf[60], sfparent[BUFSZ], *substruct, *line; char *c, cbuf[60], sfparent[BUFSZ], *substruct, *gline;
FILE *SFO_DATA, *SFI_DATA, *SFDATATMP, *SFO_PROTO, *SFI_PROTO, FILE *SFO_DATA, *SFI_DATA, *SFDATATMP, *SFO_PROTO, *SFI_PROTO,
*SFDATA, *SFPROTO; *SFDATA, *SFPROTO;
int k = 0, j, opening, closetag = 0; int k = 0, j, opening /*, closetag = 0 */;
char *iftxt = "} else "; const char *pt;
char *ft, *pt, *layout, *last_ft = (char *)0; char *ft, *layout, *last_ft = (char *)0;
int okeydokey, x, a; int okeydokey, x, a;
boolean did_i; boolean did_i;
@@ -1034,7 +1054,8 @@ static void generate_c_files()
insert_const = TRUE; insert_const = TRUE;
#endif #endif
pt = layout = (char *)0; pt = (const char *) 0;
layout = (char *) 0;
t = first; t = first;
while(t) { while(t) {
if (t->tagtype == 'u' && !strcmp(t->tag, readtagstypes[k].dtype)) { if (t->tagtype == 'u' && !strcmp(t->tag, readtagstypes[k].dtype)) {
@@ -1186,14 +1207,14 @@ static void generate_c_files()
/***************** Bitfield *******************/ /***************** Bitfield *******************/
if (!strncmpi(ft, "Bitfield", 8)) { if (!strncmpi(ft, "Bitfield", 8)) {
char lbuf[BUFSZ]; char lbuf[BUFSZ];
int j, z; int j2, z;
Sprintf(lbuf, Sprintf(lbuf,
" " " "
"bitfield = d_%s->%s;", "bitfield = d_%s->%s;",
readtagstypes[k].dtype, t->tag); readtagstypes[k].dtype, t->tag);
z = (int) strlen(lbuf); z = (int) strlen(lbuf);
for (j = 0; j < (65 - z); ++j) for (j2 = 0; j2 < (65 - z); ++j2)
Strcat(lbuf, " "); Strcat(lbuf, " ");
Sprintf(eos(lbuf), "/* (%s) */\n", ft); Sprintf(eos(lbuf), "/* (%s) */\n", ft);
Fprintf(SFO_DATA, "%s", lbuf); Fprintf(SFO_DATA, "%s", lbuf);
@@ -1231,7 +1252,7 @@ static void generate_c_files()
char altbuf[BUFSZ]; char altbuf[BUFSZ];
boolean isptr = FALSE, kludge_sbrooms = FALSE; boolean isptr = FALSE, kludge_sbrooms = FALSE;
boolean insert_loop = FALSE; boolean insert_loop = FALSE;
int j, z; int j2, z;
/*************** kludge for sbrooms *************/ /*************** kludge for sbrooms *************/
if (!strcmp(t->tag, "sbrooms")) { if (!strcmp(t->tag, "sbrooms")) {
@@ -1312,7 +1333,7 @@ static void generate_c_files()
arrbuf); arrbuf);
/* align comments */ /* align comments */
z = (int) strlen(lbuf); z = (int) strlen(lbuf);
for (j = 0; j < (65 - z); ++j) for (j2 = 0; j2 < (65 - z); ++j2)
Strcat(lbuf, " "); Strcat(lbuf, " ");
Sprintf(eos(lbuf), "/* (%s) */\n", ft); Sprintf(eos(lbuf), "/* (%s) */\n", ft);
Fprintf(SFO_DATA, "%s", lbuf); Fprintf(SFO_DATA, "%s", lbuf);
@@ -1381,45 +1402,45 @@ static void generate_c_files()
SFO_DATA = fopen("../src/sfo_data.tmp", "r"); SFO_DATA = fopen("../src/sfo_data.tmp", "r");
if (!SFO_DATA) return; if (!SFO_DATA) return;
while ((line = fgetline(SFO_DATA)) != 0) { while ((gline = fgetline(SFO_DATA)) != 0) {
(void) fputs(line, SFDATA); (void) fputs(gline, SFDATA);
free(line); free(gline);
} }
(void) fclose(SFO_DATA); (void) fclose(SFO_DATA);
(void) remove("../src/sfo_data.tmp"); (void) remove("../src/sfo_data.tmp");
SFI_DATA = fopen("../src/sfi_data.tmp", "r"); SFI_DATA = fopen("../src/sfi_data.tmp", "r");
if (!SFI_DATA) return; if (!SFI_DATA) return;
while ((line = fgetline(SFI_DATA)) != 0) { while ((gline = fgetline(SFI_DATA)) != 0) {
(void) fputs(line, SFDATA); (void) fputs(gline, SFDATA);
free(line); free(gline);
} }
(void) fclose(SFI_DATA); (void) fclose(SFI_DATA);
(void) remove("../src/sfi_data.tmp"); (void) remove("../src/sfi_data.tmp");
SFO_PROTO = fopen("../include/sfo_proto.tmp", "r"); SFO_PROTO = fopen("../include/sfo_proto.tmp", "r");
if (!SFO_PROTO) return; if (!SFO_PROTO) return;
while ((line = fgetline(SFO_PROTO)) != 0) { while ((gline = fgetline(SFO_PROTO)) != 0) {
(void) fputs(line, SFPROTO); (void) fputs(gline, SFPROTO);
free(line); free(gline);
} }
(void) fclose(SFO_PROTO); (void) fclose(SFO_PROTO);
(void) remove("../include/sfo_proto.tmp"); (void) remove("../include/sfo_proto.tmp");
SFI_PROTO = fopen("../include/sfi_proto.tmp", "r"); SFI_PROTO = fopen("../include/sfi_proto.tmp", "r");
if (!SFI_PROTO) return; if (!SFI_PROTO) return;
while ((line = fgetline(SFI_PROTO)) != 0) { while ((gline = fgetline(SFI_PROTO)) != 0) {
(void) fputs(line, SFPROTO); (void) fputs(gline, SFPROTO);
free(line); free(gline);
} }
(void) fclose(SFI_PROTO); (void) fclose(SFI_PROTO);
(void) remove("../include/sfi_proto.tmp"); (void) remove("../include/sfi_proto.tmp");
SFDATATMP = fopen("../src/sfdata.tmp", "r"); SFDATATMP = fopen("../src/sfdata.tmp", "r");
if (!SFDATATMP) return; if (!SFDATATMP) return;
while ((line = fgetline(SFDATATMP)) != 0) { while ((gline = fgetline(SFDATATMP)) != 0) {
(void) fputs(line, SFDATA); (void) fputs(gline, SFDATA);
free(line); free(gline);
} }
(void) fclose(SFDATATMP); (void) fclose(SFDATATMP);
(void) remove("../src/sfdata.tmp"); (void) remove("../src/sfdata.tmp");
@@ -1430,6 +1451,7 @@ static void generate_c_files()
(void) fclose(SFPROTO); (void) fclose(SFPROTO);
} }
#if 0
static char * static char *
dtmacro(str,n) dtmacro(str,n)
const char *str; const char *str;
@@ -1488,6 +1510,7 @@ int n; /* 1 = supress appending |SF_PTRMASK */
(ispointer && (n == 0)) ? " | SF_PTRMASK" : ""); (ispointer && (n == 0)) ? " | SF_PTRMASK" : "");
return buf2; return buf2;
} }
#endif
static char * static char *
dtfn(str,n, isptr) dtfn(str,n, isptr)
@@ -1496,7 +1519,8 @@ int n; /* 1 = supress appending |SF_PTRMASK */
boolean *isptr; boolean *isptr;
{ {
static char buf[128], buf2[128]; static char buf[128], buf2[128];
char *nam, *c; const char *nam;
char *c;
int ispointer = 0; int ispointer = 0;
if (!str) if (!str)
@@ -1537,7 +1561,7 @@ boolean *isptr;
c = buf; c = buf;
} }
for (nam = c; *c; c++) { for (nam = (const char *) c; *c; c++) {
if (*c >= 'A' && *c <= 'Z') if (*c >= 'A' && *c <= 'Z')
*c = tolower(*c); *c = tolower(*c);
else if (*c == ' ') else if (*c == ' ')
@@ -1565,7 +1589,7 @@ static char *
fieldfix(f,ss) fieldfix(f,ss)
char *f, *ss; char *f, *ss;
{ {
char *c, *dest = fieldfixbuf; char *c /*, *dest = fieldfixbuf */;
if (strcmp(f,"}") == 0 && strlen(ss) > 0 && strlen(ss) < BUFSZ - 1) { if (strcmp(f,"}") == 0 && strlen(ss) > 0 && strlen(ss) < BUFSZ - 1) {
/* (void)sprintf(fieldfixbuf,"struct %s", ss); */ /* (void)sprintf(fieldfixbuf,"struct %s", ss); */