ANSIise to fix warnings.

This commit is contained in:
David Given 2016-09-18 00:23:42 +02:00
parent 24380e2a93
commit f992eb28ac
2 changed files with 67 additions and 61 deletions

View file

@ -17,17 +17,13 @@ static struct idf *IDF_hashtable[IDF_HASHSIZE];
(variable, selector, structure tag, etc.). (variable, selector, structure tag, etc.).
*/ */
_PROTOTYPE(static struct idf *IDF_new, (char *, int, int)); static struct idf* IDF_new(char* tg, int size, int cpy);
void void init_idf()
init_idf()
{ {
} }
static struct idf * static struct idf* IDF_new(char* tg, int size, int cpy)
IDF_new(tg, size, cpy)
register char *tg;
register int size;
{ {
static int nidf; static int nidf;
static struct idf* pidf; static struct idf* pidf;
@ -39,8 +35,8 @@ IDF_new(tg, size, cpy)
static char* ip; static char* ip;
register char* p; register char* p;
if (!nidf--)
if (! nidf--) { {
nidf += NIDS; nidf += NIDS;
pidf = (struct idf*)Malloc(NIDS * sizeof(struct idf)); pidf = (struct idf*)Malloc(NIDS * sizeof(struct idf));
} }
@ -49,37 +45,43 @@ IDF_new(tg, size, cpy)
pidf++; pidf++;
*id = null_idf; *id = null_idf;
if (cpy) { if (cpy)
if (size > icnt) { {
if (size > icnt)
{
icnt = size > IBUFSIZ ? size : IBUFSIZ; icnt = size > IBUFSIZ ? size : IBUFSIZ;
p = Malloc(icnt); p = Malloc(icnt);
} }
else p = ip; else
p = ip;
icnt -= size; icnt -= size;
id->id_text = p; id->id_text = p;
while (size--) { while (size--)
{
*p++ = *tg++; *p++ = *tg++;
} }
ip = p; ip = p;
} }
else id->id_text = tg; else
id->id_text = tg;
return id; return id;
} }
#ifdef IDF_DEBUG #ifdef IDF_DEBUG
void void hash_stat(void)
hash_stat()
{ {
register int i; register int i;
int total_count = 0; int total_count = 0;
print("Hash table tally:\n"); print("Hash table tally:\n");
for (i = 0; i < IDF_HASHSIZE; i++) { for (i = 0; i < IDF_HASHSIZE; i++)
{
register struct idf* notch = IDF_hashtable[i]; register struct idf* notch = IDF_hashtable[i];
register int cnt = 0; register int cnt = 0;
print("%d ", i); print("%d ", i);
while (notch) { while (notch)
{
cnt++; cnt++;
print("'%s' ", notch->id_text); print("'%s' ", notch->id_text);
notch = notch->id_next; notch = notch->id_next;
@ -91,17 +93,16 @@ hash_stat()
print("End hash table tally\n"); print("End hash table tally\n");
} }
void void idfappfun(int (*fun)(), int opt)
idfappfun(fun, opt)
int (*fun)();
int opt;
{ {
register int i; register int i;
for (i = 0; i < IDF_HASHSIZE; i++) { for (i = 0; i < IDF_HASHSIZE; i++)
{
register struct idf* notch = IDF_hashtable[i]; register struct idf* notch = IDF_hashtable[i];
while (notch) { while (notch)
{
(*fun)(notch, opt); (*fun)(notch, opt);
notch = notch->id_next; notch = notch->id_next;
} }
@ -109,9 +110,7 @@ idfappfun(fun, opt)
} }
#endif /* IDF_DEBUG */ #endif /* IDF_DEBUG */
struct idf * struct idf* str2idf(char tg[], int cpy)
str2idf(tg, cpy)
char tg[];
{ {
/* str2idf() returns an entry in the symbol table for the /* str2idf() returns an entry in the symbol table for the
identifier tg. If necessary, an entry is created. identifier tg. If necessary, an entry is created.
@ -124,7 +123,8 @@ str2idf(tg, cpy)
int size; int size;
IDF_STARTHASH(hash); IDF_STARTHASH(hash);
while (c = *cp++) { while (c = *cp++)
{
IDF_ENHASH(hash, c); IDF_ENHASH(hash, c);
} }
IDF_STOPHASH(hash); IDF_STOPHASH(hash);
@ -137,23 +137,29 @@ str2idf(tg, cpy)
*/ */
hook = &IDF_hashtable[hash]; hook = &IDF_hashtable[hash];
while ((notch = *hook)) { while ((notch = *hook))
{
register char* s1 = tg; register char* s1 = tg;
cp = notch->id_text; cp = notch->id_text;
while (!(c = (*s1 - *cp++))) { while (!(c = (*s1 - *cp++)))
if (*s1++ == '\0') { {
if (*s1++ == '\0')
{
break; break;
} }
} }
if (c == 0) return notch; if (c == 0)
if (c < 0) break; return notch;
if (c < 0)
break;
hook = &notch->id_next; hook = &notch->id_next;
} }
/* a new struct idf must be inserted at the hook */ /* a new struct idf must be inserted at the hook */
if (cpy < 0) return 0; if (cpy < 0)
return 0;
notch = IDF_new(tg, size, cpy); notch = IDF_new(tg, size, cpy);
notch->id_next = *hook; notch->id_next = *hook;
*hook = notch; /* hooked in */ *hook = notch; /* hooked in */

View file

@ -27,7 +27,7 @@ struct idf {
Initializes the namelist. Initializes the namelist.
*/ */
_PROTOTYPE(void init_idf, (void)); extern void init_idf(void);
/* struct idf * str2idf(tg, cp) /* struct idf * str2idf(tg, cp)
char *tg; char *tg;
@ -40,6 +40,6 @@ _PROTOTYPE(void init_idf, (void));
If cp < 0, the string is not entered, but only looked for. If cp < 0, the string is not entered, but only looked for.
*/ */
_PROTOTYPE(struct idf *str2idf, (char *, int)); struct idf *str2idf(char* tg, int cp);
#define findidf(tg) str2idf(tg, -1) #define findidf(tg) str2idf(tg, -1)