diff options
Diffstat (limited to 'textproc/wordnet/files/patch-ae')
-rw-r--r-- | textproc/wordnet/files/patch-ae | 1092 |
1 files changed, 1079 insertions, 13 deletions
diff --git a/textproc/wordnet/files/patch-ae b/textproc/wordnet/files/patch-ae index 476f357206f8..e09d71117651 100644 --- a/textproc/wordnet/files/patch-ae +++ b/textproc/wordnet/files/patch-ae @@ -1,37 +1,1103 @@ ---- src/lib/search.c Tue Jul 15 10:41:55 2003 -+++ src/lib/search.c Tue Feb 17 15:59:53 2004 -@@ -331,5 +331,5 @@ +--- lib/search.c Fri May 6 13:17:39 2005 ++++ lib/search.c Sat Jan 14 17:43:08 2006 +@@ -17,5 +17,5 @@ + #include "wn.h" + +-static char *Id = "$Id: search.c,v 1.165 2005/02/24 15:36:00 wn Exp $"; ++__FBSDID("$Id: search.c,v 1.165 2005/02/24 15:36:00 wn Exp $"); + + /* For adjectives, indicates synset type */ +@@ -45,12 +45,12 @@ + /* Forward function declarations */ + +-static void WNOverview(char *, int); ++static void WNOverview(const char *, int); + static void findverbgroups(IndexPtr); +-static void add_relatives(int, IndexPtr, int, int); ++static void add_relatives(int, int); + static void free_rellist(void); +-static void printsynset(char *, SynsetPtr, char *, int, int, int, int); +-static void printantsynset(SynsetPtr, char *, int, int); +-static char *printant(int, SynsetPtr, int, char *, char *); +-static void printbuffer(char *); ++static void printsynset(const char *, SynsetPtr, const char *, int, int, int, int); ++static void printantsynset(SynsetPtr, const char *, int); ++static const char *printant(int, SynsetPtr, int, const char *, const char *); ++static void printbuffer(const char *); + static void printsns(SynsetPtr, int); + static void printsense(SynsetPtr, int); +@@ -62,6 +62,6 @@ + static int getsearchsense(SynsetPtr, int); + static int depthcheck(int, SynsetPtr); +-static void interface_doevents(); +-static void getexample(char *, char *); ++static void interface_doevents(void); ++static void getexample(const char *, const char *); + static int findexample(SynsetPtr); + +@@ -84,9 +84,10 @@ + Input word must be exact match of string in database. */ + +-IndexPtr index_lookup(char *word, int dbase) ++IndexPtr ++index_lookup(const char *word, int dbase) + { + IndexPtr idx = NULL; + FILE *fp; +- char *line; ++ const char *line; + + if ((fp = indexfps[dbase]) == NULL) { +@@ -111,14 +112,16 @@ + */ + +-IndexPtr parse_index(long offset, int dbase, char *line) { ++IndexPtr ++parse_index(long offset, int dbase, const char *line) { + + IndexPtr idx = NULL; + char *ptrtok; + int j; ++ int len; + + if ( !line ) + line = read_index( offset, indexfps[dbase] ); + +- idx = (IndexPtr)malloc(sizeof(Index)); ++ idx = malloc(sizeof(Index)); + assert(idx); + +@@ -136,51 +139,52 @@ + + /* get the word */ +- ptrtok=strtok(line," \n"); ++ ptrtok = strpbrk(line, " \n"); ++ len = ptrtok - line; + +- idx->wd = malloc(strlen(ptrtok) + 1); ++ idx->wd = malloc(len + 1); + assert(idx->wd); +- strcpy(idx->wd, ptrtok); ++ memcpy(idx->wd, line, len); ++ idx->wd[len] = '\0'; ++ line = ptrtok + 1; + + /* get the part of speech */ +- ptrtok=strtok(NULL," \n"); +- idx->pos = malloc(strlen(ptrtok) + 1); ++ ptrtok = strpbrk(line, " \n"); ++ len = ptrtok - line; ++ ++ idx->pos = malloc(len + 1); + assert(idx->pos); +- strcpy(idx->pos, ptrtok); ++ memcpy(idx->pos, line, len); ++ idx->pos[len] = '\0'; ++ line = ptrtok + 1; + + /* get the collins count */ +- ptrtok=strtok(NULL," \n"); +- idx->sense_cnt = atoi(ptrtok); +- ++ idx->sense_cnt = strtoul(line, &ptrtok, 10); ++ + /* get the number of pointers types */ +- ptrtok=strtok(NULL," \n"); +- idx->ptruse_cnt = atoi(ptrtok); +- ++ idx->ptruse_cnt = strtoul(ptrtok + 1, &ptrtok, 10); ++ + if (idx->ptruse_cnt) { +- idx->ptruse = (int *) malloc(idx->ptruse_cnt * (sizeof(int))); ++ idx->ptruse = malloc(idx->ptruse_cnt * (sizeof(short))); + assert(idx->ptruse); + + /* get the pointers types */ + for(j=0;j < idx->ptruse_cnt; j++) { +- ptrtok=strtok(NULL," \n"); +- idx->ptruse[j] = getptrtype(ptrtok); ++ idx->ptruse[j] = getptrtype(ptrtok + 1, &ptrtok); + } + } + + /* get the number of offsets */ +- ptrtok=strtok(NULL," \n"); +- idx->off_cnt = atoi(ptrtok); ++ idx->off_cnt = strtoul(ptrtok + 1, &ptrtok, 10); + + /* get the number of senses that are tagged */ +- ptrtok=strtok(NULL," \n"); +- idx->tagged_cnt = atoi(ptrtok); +- ++ idx->tagged_cnt = strtoul(ptrtok + 1, &ptrtok, 10); ++ + /* make space for the offsets */ +- idx->offset = (long *) malloc(idx->off_cnt * (sizeof(long))); ++ idx->offset = malloc(idx->off_cnt * (sizeof(long))); + assert(idx->offset); + + /* get the offsets */ + for(j=0;j<idx->off_cnt;j++) { +- ptrtok=strtok(NULL," \n"); +- idx->offset[j] = atol(ptrtok); ++ idx->offset[j] = strtoul(ptrtok + 1, &ptrtok, 10); + } + return(idx); +@@ -191,5 +195,6 @@ + hyphens, strip hyphens and underscores, strip periods. */ + +-IndexPtr getindex(char *searchstr, int dbase) ++IndexPtr ++getindex(const char *searchstr, int dbase) + { + int i, j, k; +@@ -207,6 +212,8 @@ + + offset = 0; +- strtolower(searchstr); +- for (i = 0; i < MAX_FORMS; i++) { ++ strtolower2(searchstr, strings[0]); ++ searchstr = strings[0]; ++ offsets[0] = 0; ++ for (i = 1; i < MAX_FORMS; i++) { + strcpy(strings[i], searchstr); + offsets[i] = 0; +@@ -230,9 +237,9 @@ + and get offsets of unique strings. */ + +- if (strings[0][0] != NULL) ++ if (strings[0][0] != '\0') + offsets[0] = index_lookup(strings[0], dbase); + + for (i = 1; i < MAX_FORMS; i++) +- if ((strings[i][0]) != NULL && (strcmp(strings[0], strings[i]))) ++ if ((strings[i][0]) != '\0' && (strcmp(strings[0], strings[i]))) + offsets[i] = index_lookup(strings[i], dbase); + } +@@ -251,5 +258,6 @@ + entry in data structure. */ + +-SynsetPtr read_synset(int dbase, long boffset, char *word) ++SynsetPtr ++read_synset(int dbase, long boffset, const char *word) + { + FILE *fp; +@@ -270,19 +278,18 @@ + in data structure. */ + +-SynsetPtr parse_synset(FILE *fp, int dbase, char *word) ++SynsetPtr ++parse_synset(FILE *fp, int dbase, const char *word) + { +- static char line[LINEBUF]; +- char tbuf[SMLINEBUF]; ++ char line[LINEBUF]; + char *ptrtok; +- char *tmpptr; + int foundpert = 0; + char wdnum[3]; +- int i; ++ int i, len; + SynsetPtr synptr; +- long loc; /* sanity check on file location */ ++ unsigned long loc; /* sanity check on file location */ + + loc = ftell(fp); + +- if ((tmpptr = fgets(line, LINEBUF, fp)) == NULL) ++ if (fgets(line, LINEBUF, fp) == NULL) + return(NULL); + +@@ -315,13 +322,10 @@ + synptr->headsense = 0; + +- ptrtok = line; +- + /* looking at offset */ +- ptrtok = strtok(line," \n"); +- synptr->hereiam = atol(ptrtok); ++ synptr->hereiam = strtol(line, &ptrtok, 10); + /* sanity check - make sure starting file offset matches first field */ if (synptr->hereiam != loc) { - sprintf(msgbuf, "WordNet library error: no synset at location %d\n", -+ sprintf(msgbuf, "WordNet library error: no synset at location %ld\n", ++ sprintf(msgbuf, "WordNet library error: no synset at location %lu\n", loc); display_message(msgbuf); -@@ -464,5 +464,5 @@ - if (ptrtok) { - ptrtok = strtok(NULL," \n"); +@@ -331,18 +335,20 @@ + + /* looking at FNUM */ +- ptrtok = strtok(NULL," \n"); +- synptr->fnum = atoi(ptrtok); ++ synptr->fnum = strtol(ptrtok + 1, &ptrtok, 10); + + /* looking at POS */ +- ptrtok = strtok(NULL, " \n"); +- synptr->pos = malloc(strlen(ptrtok) + 1); ++ ptrtok++; ++ len = strpbrk(ptrtok, " \n") - ptrtok; ++ synptr->pos = malloc(len + 1); + assert(synptr->pos); +- strcpy(synptr->pos, ptrtok); ++ memcpy(synptr->pos, ptrtok, len); ++ synptr->pos[len] = '\0'; ++ ptrtok += len; + if (getsstype(synptr->pos) == SATELLITE) + synptr->sstype = INDIRECT_ANT; + + /* looking at numwords */ +- ptrtok = strtok(NULL, " \n"); +- synptr->wcount = strtol(ptrtok, NULL, 16); ++ synptr->wcount = strtol(ptrtok, &ptrtok, 16); ++ ptrtok++; + + synptr->words = (char **)malloc(synptr->wcount * sizeof(char *)); +@@ -354,40 +360,42 @@ + + for (i = 0; i < synptr->wcount; i++) { +- ptrtok = strtok(NULL, " \n"); +- synptr->words[i] = malloc(strlen(ptrtok) + 1); ++ len = strpbrk(ptrtok, " \n") - ptrtok; ++ synptr->words[i] = malloc(len + 1); + assert(synptr->words[i]); +- strcpy(synptr->words[i], ptrtok); ++ memcpy(synptr->words[i], ptrtok, len); ++ synptr->words[i][len] = '\0'; + + /* is this the word we're looking for? */ + +- if (word && !strcmp(word,strtolower(ptrtok))) ++ if (word && !strcmp(word, synptr->words[i])) + synptr->whichword = i+1; + +- ptrtok = strtok(NULL, " \n"); +- sscanf(ptrtok, "%x", &synptr->lexid[i]); ++ ptrtok += len; ++ synptr->lexid[i] = strtol(ptrtok, &ptrtok, 16); ++ ptrtok++; + } + + /* get the pointer count */ +- ptrtok = strtok(NULL," \n"); +- synptr->ptrcount = atoi(ptrtok); ++ synptr->ptrcount = strtol(ptrtok, &ptrtok, 10); ++ ptrtok++; + + if (synptr->ptrcount) { + + /* alloc storage for the pointers */ +- synptr->ptrtyp = (int *)malloc(synptr->ptrcount * sizeof(int)); ++ synptr->ptrtyp = malloc(synptr->ptrcount * sizeof(int)); + assert(synptr->ptrtyp); +- synptr->ptroff = (long *)malloc(synptr->ptrcount * sizeof(long)); ++ synptr->ptroff = malloc(synptr->ptrcount * sizeof(unsigned long)); + assert(synptr->ptroff); +- synptr->ppos = (int *)malloc(synptr->ptrcount * sizeof(int)); ++ synptr->ppos = malloc(synptr->ptrcount * sizeof(int)); + assert(synptr->ppos); +- synptr->pto = (int *)malloc(synptr->ptrcount * sizeof(int)); ++ synptr->pto = malloc(synptr->ptrcount * sizeof(short)); + assert(synptr->pto); +- synptr->pfrm = (int *)malloc(synptr->ptrcount * sizeof(int)); ++ synptr->pfrm = malloc(synptr->ptrcount * sizeof(short)); + assert(synptr->pfrm); + + for(i = 0; i < synptr->ptrcount; i++) { + /* get the pointer type */ +- ptrtok = strtok(NULL," \n"); +- synptr->ptrtyp[i] = getptrtype(ptrtok); ++ synptr->ptrtyp[i] = getptrtype(ptrtok, &ptrtok); ++ ptrtok++; + /* For adjectives, set the synset type if it has a direct + antonym */ +@@ -400,23 +408,19 @@ + + /* get the pointer offset */ +- ptrtok = strtok(NULL," \n"); +- synptr->ptroff[i] = atol(ptrtok); ++ synptr->ptroff[i] = strtol(ptrtok, &ptrtok, 10); ++ ptrtok++; + + /* get the pointer part of speech */ +- ptrtok = strtok(NULL, " \n"); + synptr->ppos[i] = getpos(ptrtok); + + /* get the lexp to/from restrictions */ +- ptrtok = strtok(NULL," \n"); +- +- tmpptr = ptrtok; +- strncpy(wdnum, tmpptr, 2); ++ ++ ptrtok = strpbrk(ptrtok, " \n") + 1; ++ strncpy(wdnum, ptrtok, 2); + wdnum[2] = '\0'; +- synptr->pfrm[i] = strtol(wdnum, (char **)NULL, 16); ++ synptr->pfrm[i] = strtoul(wdnum, NULL, 16); + +- tmpptr += 2; +- strncpy(wdnum, tmpptr, 2); +- wdnum[2] = '\0'; +- synptr->pto[i] = strtol(wdnum, (char **)NULL, 16); ++ synptr->pto[i] = strtoul(ptrtok + 2, &ptrtok, 16); ++ ptrtok++; /* Something like ``0000 '' */ + } + } +@@ -429,23 +433,22 @@ + /* retireve optional information from verb synset */ + if(dbase == VERB) { +- ptrtok = strtok(NULL," \n"); +- synptr->fcount = atoi(ptrtok); +- ++ synptr->fcount = strtol(ptrtok, &ptrtok, 10); ++ ptrtok++; + /* allocate frame storage */ + +- synptr->frmid = (int *)malloc(synptr->fcount * sizeof(int)); ++ synptr->frmid = malloc(synptr->fcount * sizeof(int)); + assert(synptr->frmid); +- synptr->frmto = (int *)malloc(synptr->fcount * sizeof(int)); ++ synptr->frmto = malloc(synptr->fcount * sizeof(int)); + assert(synptr->frmto); + + for(i=0;i<synptr->fcount;i++) { + /* skip the frame pointer (+) */ +- ptrtok = strtok(NULL," \n"); ++ ptrtok = strpbrk(ptrtok, " \n") + 1; + +- ptrtok = strtok(NULL," \n"); +- synptr->frmid[i] = atoi(ptrtok); ++ synptr->frmid[i] = strtol(ptrtok, &ptrtok, 10); ++ ptrtok++; + +- ptrtok = strtok(NULL," \n"); +- synptr->frmto[i] = strtol(ptrtok, NULL, 16); ++ synptr->frmto[i] = strtol(ptrtok, &ptrtok, 16); ++ ptrtok++; + } + } +@@ -453,22 +456,38 @@ + /* get the optional definition */ + +- ptrtok = strtok(NULL," \n"); +- if (ptrtok) { +- ptrtok = strtok(NULL," \n"); - sprintf(tbuf, ""); -+ tbuf[0] = '\0'; - while (ptrtok != NULL) { - strcat(tbuf,ptrtok); -@@ -478,5 +478,5 @@ +- while (ptrtok != NULL) { +- strcat(tbuf,ptrtok); +- ptrtok = strtok(NULL, " \n"); +- if(ptrtok) +- strcat(tbuf," "); +- } +- assert((1 + strlen(tbuf)) < sizeof(tbuf)); +- synptr->defn = malloc(strlen(tbuf) + 4); ++ ptrtok = strpbrk(ptrtok, " \n") + 1; ++ if (ptrtok && *ptrtok) { ++ char *defn; ++ len = strlen(ptrtok); ++ synptr->defn = malloc(len + 2); + assert(synptr->defn); +- sprintf(synptr->defn,"(%s)",tbuf); ++ synptr->defn[0] = '('; ++ for (defn = synptr->defn + 1; *ptrtok; ptrtok++) { ++ switch (*ptrtok) { ++ case '\n': ++ case ' ': ++ /* skip adjacent and initial blanks: */ ++ if (defn == synptr->defn + 1 || defn[-1] == ' ') ++ continue; ++ do ++ ptrtok++; ++ while (*ptrtok == '\n' || *ptrtok == ' '); ++ if (*ptrtok == '\0') ++ break; /* out of the loop */ ++ *defn++ = ' '; ++ /* FALLTHROUGH */; ++ default: ++ *defn++ = *ptrtok; ++ continue; ++ } ++ break; ++ } ++ *defn++ = ')'; ++ assert(defn - synptr->defn < len + 2); ++ *defn = '\0'; + } if (keyindexfp) { /* we have unique keys */ - sprintf(tmpbuf, "%c:%8.8d", partchars[dbase], synptr->hereiam); + sprintf(tmpbuf, "%c:%8.8ld", partchars[dbase], synptr->hereiam); synptr->key = GetKeyForOffset(tmpbuf); } -@@ -2350,5 +2350,5 @@ +@@ -547,5 +565,5 @@ + /* Recursive search algorithm to trace a pointer tree */ + +-static void traceptrs(SynsetPtr synptr, int ptrtyp, int dbase, int depth) ++static void traceptrs(SynsetPtr synptr, int ptyp, int dbase, int depth) + { + int i; +@@ -559,15 +577,15 @@ + return; + +- if (ptrtyp < 0) { +- ptrtyp = -ptrtyp; ++ if (ptyp < 0) { ++ ptyp = -ptyp; + extraindent = 2; + } + + for (i = 0; i < synptr->ptrcount; i++) { +- if ((ptrtyp == HYPERPTR && (synptr->ptrtyp[i] == HYPERPTR || ++ if ((ptyp == HYPERPTR && (synptr->ptrtyp[i] == HYPERPTR || + synptr->ptrtyp[i] == INSTANCE)) || +- (ptrtyp == HYPOPTR && (synptr->ptrtyp[i] == HYPOPTR || ++ (ptyp == HYPOPTR && (synptr->ptrtyp[i] == HYPOPTR || + synptr->ptrtyp[i] == INSTANCES)) || +- ((synptr->ptrtyp[i] == ptrtyp) && ++ ((synptr->ptrtyp[i] == ptyp) && + ((synptr->pfrm[i] == 0) || + (synptr->pfrm[i] == synptr->whichword)))) { +@@ -634,5 +652,5 @@ + Otherwise, just print the synset pointed to. */ + +- if ((ptrtyp == PERTPTR || ptrtyp == PPLPTR) && ++ if ((ptyp == PERTPTR || ptyp == PPLPTR) && + synptr->pto[i] != 0) { + sprintf(tbuf, " (Sense %d)\n", +@@ -640,5 +658,5 @@ + printsynset(prefix, cursyn, tbuf, DEFOFF, synptr->pto[i], + SKIP_ANTS, PRINT_MARKER); +- if (ptrtyp == PPLPTR) { /* adjective pointing to verb */ ++ if (ptyp == PPLPTR) { /* adjective pointing to verb */ + printsynset(" =>", cursyn, "\n", + DEFON, ALLWORDS, PRINT_ANTS, PRINT_MARKER); +@@ -656,5 +674,5 @@ + traceptrs(cursyn, HYPERPTR, getpos(cursyn->pos), 0); + } +- } else if (ptrtyp == ANTPTR && dbase != ADJ && synptr->pto[i] != 0) { ++ } else if (ptyp == ANTPTR && dbase != ADJ && synptr->pto[i] != 0) { + sprintf(tbuf, " (Sense %d)\n", + cursyn->wnsns[synptr->pto[i] - 1]); +@@ -670,10 +688,10 @@ + printed in buffer so results can be truncated later. */ + +- if (ptrtyp >= ISMEMBERPTR && ptrtyp <= HASPARTPTR) ++ if (ptyp >= ISMEMBERPTR && ptyp <= HASPARTPTR) + lastholomero = strlen(searchbuffer); + + if(depth) { + depth = depthcheck(depth, cursyn); +- traceptrs(cursyn, ptrtyp, getpos(cursyn->pos), (depth+1)); ++ traceptrs(cursyn, ptyp, getpos(cursyn->pos), (depth+1)); + + free_synset(cursyn); +@@ -684,5 +702,6 @@ + } + +-static void tracecoords(SynsetPtr synptr, int ptrtyp, int dbase, int depth) ++static void ++tracecoords(SynsetPtr synptr, int ptyp, int depth) + { + int i; +@@ -709,9 +728,9 @@ + SKIP_ANTS, PRINT_MARKER); + +- traceptrs(cursyn, ptrtyp, getpos(cursyn->pos), depth); ++ traceptrs(cursyn, ptyp, getpos(cursyn->pos), depth); + + if(depth) { + depth = depthcheck(depth, cursyn); +- tracecoords(cursyn, ptrtyp, getpos(cursyn->pos), (depth+1)); ++ tracecoords(cursyn, ptyp, (depth+1)); + free_synset(cursyn); + } else +@@ -721,9 +740,10 @@ + } + +-static void traceclassif(SynsetPtr synptr, int dbase, int search) ++static void ++traceclassif(SynsetPtr synptr, int search) + { + int i, j, idx; + SynsetPtr cursyn; +- long int prlist[1024]; ++ unsigned int prlist[1024]; + char head[60]; + int svwnsnsflag; +@@ -789,5 +809,6 @@ + } + +-static void tracenomins(SynsetPtr synptr, int dbase) ++static void ++tracenomins(SynsetPtr synptr) + { + int i, j, idx; +@@ -848,5 +869,6 @@ + and PART info. */ + +-static void traceinherit(SynsetPtr synptr, int ptrbase, int dbase, int depth) ++static void ++traceinherit(SynsetPtr synptr, int ptrbase, int depth) + { + int i; +@@ -879,5 +901,5 @@ + if(depth) { + depth = depthcheck(depth, cursyn); +- traceinherit(cursyn, ptrbase, getpos(cursyn->pos), (depth+1)); ++ traceinherit(cursyn, ptrbase, depth + 1); + free_synset(cursyn); + } else +@@ -890,10 +912,10 @@ + } + +-static void partsall(SynsetPtr synptr, int ptrtyp) ++static void partsall(SynsetPtr synptr, int ptyp) + { + int ptrbase; + int i, hasptr = 0; + +- ptrbase = (ptrtyp == HMERONYM) ? HASMEMBERPTR : ISMEMBERPTR; ++ ptrbase = (ptyp == HMERONYM) ? HASMEMBERPTR : ISMEMBERPTR; + + /* First, print out the MEMBER, STUFF, PART info for this synset */ +@@ -912,8 +934,8 @@ + HMERONYM search only */ + +-/* if (hasptr && ptrtyp == HMERONYM) { */ +- if (ptrtyp == HMERONYM) { ++/* if (hasptr && ptyp == HMERONYM) { */ ++ if (ptyp == HMERONYM) { + lastholomero = strlen(searchbuffer); +- traceinherit(synptr, ptrbase, NOUN, 1); ++ traceinherit(synptr, ptrbase, 1); + } + } +@@ -971,5 +993,5 @@ + } + } else +- printantsynset(antptr, "\n", anttype, DEFON); ++ printantsynset(antptr, "\n", DEFON); + + free_synset(antptr); +@@ -984,11 +1006,13 @@ + /* Fetch the given example sentence from the example file and print it out */ + +-void getexample(char *offset, char *wd) ++static void ++getexample(const char *offset, const char *wd) + { +- char *line; ++ const char *line; + char sentbuf[512]; + + if (vsentfilefp != NULL) { +- if (line = bin_search(offset, vsentfilefp)) { ++ line = bin_search(offset, vsentfilefp); ++ if (line) { + while(*line != ' ') + line++; +@@ -1005,5 +1029,6 @@ + int findexample(SynsetPtr synptr) + { +- char tbuf[256], *temp, *offset; ++ char tbuf[256]; ++ const char *temp, *offset; + int wdnum; + int found = 0; +@@ -1097,17 +1122,17 @@ + } + +-static void freq_word(IndexPtr index) ++static void freq_word(IndexPtr idx) + { + int familiar=0; + int cnt; +- static char *a_an[] = { ++ static const char *a_an[] = { + "", "a noun", "a verb", "an adjective", "an adverb" }; +- static char *freqcats[] = { ++ static const char *freqcats[] = { + "extremely rare","very rare","rare","uncommon","common", + "familiar","very familiar","extremely familiar" + }; + +- if(index) { +- cnt = index->sense_cnt; ++ if(idx) { ++ cnt = idx->sense_cnt; + if (cnt == 0) familiar = 0; + if (cnt == 1) familiar = 1; +@@ -1121,10 +1146,11 @@ + sprintf(tmpbuf, + "\n%s used as %s is %s (polysemy count = %d)\n", +- index->wd, a_an[getpos(index->pos)], freqcats[familiar], cnt); ++ idx->wd, a_an[getpos(idx->pos)], freqcats[familiar], cnt); + printbuffer(tmpbuf); + } + } + +-void wngrep (char *word_passed, int pos) { ++static void ++wngrep(const char *word_passed, int pos) { + FILE *inputfile; + char word[256]; +@@ -1237,5 +1263,5 @@ + for (k = 0; k < idx->off_cnt; k++) { + if (synset->ptroff[j] == idx->offset[k]) { +- add_relatives(VERB, idx, i, k); ++ add_relatives(i, k); + break; + } +@@ -1247,8 +1273,9 @@ + } + +-static void add_relatives(int pos, IndexPtr idx, int rel1, int rel2) ++static void ++add_relatives(int rel1, int rel2) + { + int i; +- struct relgrp *rel, *last, *r; ++ struct relgrp *rel, *last = NULL, *r; + + /* If either of the new relatives are already in a relative group, +@@ -1350,5 +1377,6 @@ + */ + +-char *findtheinfo(char *searchstr, int dbase, int ptrtyp, int whichsense) ++const char * ++findtheinfo(const char *searchstr, int dbase, int ptyp, int whichsense) + { + SynsetPtr cursyn; +@@ -1358,5 +1386,5 @@ + char *bufstart; + unsigned long offsets[MAXSENSE]; +- int skipit; ++ int skipit = 0; + + /* Initializations - +@@ -1373,5 +1401,5 @@ + offsets[i] = 0; + +- switch (ptrtyp) { ++ switch (ptyp) { + case OVERVIEW: + WNOverview(searchstr, dbase); +@@ -1402,6 +1430,6 @@ + + /* If negative search type, set flag for recursive search */ +- if (ptrtyp < 0) { +- ptrtyp = -ptrtyp; ++ if (ptyp < 0) { ++ ptyp = -ptyp; + depth = 1; + } +@@ -1439,5 +1467,5 @@ + offsets[offsetcnt++] = idx->offset[sense]; + cursyn = read_synset(dbase, idx->offset[sense], idx->wd); +- switch(ptrtyp) { ++ switch(ptyp) { + case ANTPTR: + if(dbase == ADJ) +@@ -1448,5 +1476,5 @@ + + case COORDS: +- tracecoords(cursyn, HYPOPTR, dbase, depth); ++ tracecoords(cursyn, HYPOPTR, depth); + break; + +@@ -1481,5 +1509,5 @@ + #ifdef FOOP + case PPLPTR: +- traceptrs(cursyn, ptrtyp, dbase, depth); ++ traceptrs(cursyn, ptyp, dbase, depth); + traceptrs(cursyn, PPLPTR, dbase, depth); + break; +@@ -1492,5 +1520,5 @@ + prflag = 1; + +- traceptrs(cursyn, ptrtyp, dbase, depth); ++ traceptrs(cursyn, ptyp, dbase, depth); + + if (dbase == ADJ) { +@@ -1509,14 +1537,14 @@ + + case DERIVATION: +- tracenomins(cursyn, dbase); ++ tracenomins(cursyn); + break; + + case CLASSIFICATION: + case CLASS: +- traceclassif(cursyn, dbase, ptrtyp); ++ traceclassif(cursyn, ptyp); + break; + + default: +- traceptrs(cursyn, ptrtyp, dbase, depth); ++ traceptrs(cursyn, ptyp, dbase, depth); + break; + +@@ -1587,5 +1615,6 @@ + } + +-SynsetPtr findtheinfo_ds(char *searchstr, int dbase, int ptrtyp, int whichsense) ++SynsetPtr ++findtheinfo_ds(char *searchstr, int dbase, int ptyp, int whichsense) + { + IndexPtr idx; +@@ -1603,6 +1632,6 @@ + newsense = 1; + +- if(ptrtyp < 0) { +- ptrtyp = -ptrtyp; ++ if(ptyp < 0) { ++ ptyp = -ptyp; + depth = 1; + } +@@ -1629,8 +1658,6 @@ + newsense = 0; + +- cursyn->searchtype = ptrtyp; +- cursyn->ptrlist = traceptrs_ds(cursyn, ptrtyp, +- getpos(cursyn->pos), +- depth); ++ cursyn->searchtype = ptyp; ++ cursyn->ptrlist = traceptrs_ds(cursyn, ptyp, depth); + + lastsyn = cursyn; +@@ -1643,5 +1670,5 @@ + wnresults.numforms++; + +- if (ptrtyp == COORDS) { /* clean up by removing hypernym */ ++ if (ptyp == COORDS) { /* clean up by removing hypernym */ + lastsyn = synlist->ptrlist; + synlist->ptrlist = lastsyn->ptrlist; +@@ -1656,5 +1683,6 @@ + in linked list of data structures. */ + +-SynsetPtr traceptrs_ds(SynsetPtr synptr, int ptrtyp, int dbase, int depth) ++SynsetPtr ++traceptrs_ds(SynsetPtr synptr, int ptyp, int depth) + { + int i; +@@ -1680,9 +1708,9 @@ + } + +- if (ptrtyp == COORDS) { ++ if (ptyp == COORDS) { + tstptrtyp = HYPERPTR; + docoords = 1; + } else { +- tstptrtyp = ptrtyp; ++ tstptrtyp = ptyp; + docoords = 0; + } +@@ -1694,5 +1722,5 @@ + + cursyn=read_synset(synptr->ppos[i], synptr->ptroff[i], ""); +- cursyn->searchtype = ptrtyp; ++ cursyn->searchtype = ptyp; + + if (lastsyn) +@@ -1704,9 +1732,7 @@ + if(depth) { + depth = depthcheck(depth, cursyn); +- cursyn->ptrlist = traceptrs_ds(cursyn, ptrtyp, +- getpos(cursyn->pos), +- (depth+1)); ++ cursyn->ptrlist = traceptrs_ds(cursyn, ptyp, (depth+1)); + } else if (docoords) { +- cursyn->ptrlist = traceptrs_ds(cursyn, HYPOPTR, NOUN, 0); ++ cursyn->ptrlist = traceptrs_ds(cursyn, HYPOPTR, 0); + } + } +@@ -1715,10 +1741,12 @@ + } + +-static void WNOverview(char *searchstr, int pos) ++static void ++WNOverview(const char *searchstr, int pos) + { + SynsetPtr cursyn; + IndexPtr idx = NULL; +- char *cpstring = searchstr, *bufstart; +- int sense, i, offsetcnt; ++ const char *cpstring; ++ char *bufstart; ++ int sense_, i, offsetcnt; + int svdflag, skipit; + unsigned long offsets[MAXSENSE]; +@@ -1742,19 +1770,19 @@ + synset with synset offset and/or lexical file information.*/ + +- for (sense = 0; sense < idx->off_cnt; sense++) { ++ for (sense_ = 0; sense_ < idx->off_cnt; sense_++) { + + for (i = 0, skipit = 0; i < offsetcnt && !skipit; i++) +- if (offsets[i] == idx->offset[sense]) ++ if (offsets[i] == idx->offset[sense_]) + skipit = 1; + + if (!skipit) { +- offsets[offsetcnt++] = idx->offset[sense]; +- cursyn = read_synset(pos, idx->offset[sense], idx->wd); ++ offsets[offsetcnt++] = idx->offset[sense_]; ++ cursyn = read_synset(pos, idx->offset[sense_], idx->wd); + if (idx->tagged_cnt != -1 && +- ((sense + 1) <= idx->tagged_cnt)) { ++ ((sense_ + 1) <= idx->tagged_cnt)) { + sprintf(tmpbuf, "%d. (%d) ", +- sense + 1, GetTagcnt(idx, sense + 1)); ++ sense_ + 1, GetTagcnt(idx, sense_ + 1)); + } else { +- sprintf(tmpbuf, "%d. ", sense + 1); ++ sprintf(tmpbuf, "%d. ", sense_ + 1); + } + +@@ -1801,8 +1829,9 @@ + /* Do requested search on synset passed, returning output in buffer. */ + +-char *do_trace(SynsetPtr synptr, int ptrtyp, int dbase, int depth) ++const char * ++do_trace(SynsetPtr synptr, int ptyp, int dbase, int depth) + { + searchbuffer[0] = '\0'; /* clear output buffer */ +- traceptrs(synptr, ptrtyp, dbase, depth); ++ traceptrs(synptr, ptyp, dbase, depth); + return(searchbuffer); + } +@@ -1811,7 +1840,8 @@ + passed and return bit mask. */ + +-unsigned int is_defined(char *searchstr, int dbase) ++unsigned int ++is_defined(const char *searchstr, int dbase) + { +- IndexPtr index; ++ IndexPtr idx; + int i; + unsigned long retval = 0; +@@ -1821,8 +1851,8 @@ + wnresults.searchds = NULL; + +- while ((index = getindex(searchstr, dbase)) != NULL) { ++ while ((idx = getindex(searchstr, dbase)) != NULL) { + searchstr = NULL; /* clear out for next getindex() call */ + +- wnresults.SenseCount[wnresults.numforms] = index->off_cnt; ++ wnresults.SenseCount[wnresults.numforms] = idx->off_cnt; + + /* set bits that must be true for all words */ +@@ -1833,36 +1863,36 @@ + /* go through list of pointer characters and set appropriate bits */ + +- for(i = 0; i < index->ptruse_cnt; i++) { ++ for(i = 0; i < idx->ptruse_cnt; i++) { + +- if (index->ptruse[i] <= LASTTYPE) { +- retval |= bit(index->ptruse[i]); +- } else if (index->ptruse[i] == INSTANCE) { ++ if (idx->ptruse[i] <= LASTTYPE) { ++ retval |= bit(idx->ptruse[i]); ++ } else if (idx->ptruse[i] == INSTANCE) { + retval |= bit(HYPERPTR); +- } else if (index->ptruse[i] == INSTANCES) { ++ } else if (idx->ptruse[i] == INSTANCES) { + retval |= bit(HYPOPTR); + } + +- if (index->ptruse[i] == SIMPTR) { ++ if (idx->ptruse[i] == SIMPTR) { + retval |= bit(ANTPTR); + } + #ifdef FOOP + +- if (index->ptruse[i] >= CLASSIF_START && +- index->ptruse[i] <= CLASSIF_END) { ++ if (idx->ptruse[i] >= CLASSIF_START && ++ idx->ptruse[i] <= CLASSIF_END) { + retval |= bit(CLASSIFICATION); + } + + +- if (index->ptruse[i] >= CLASS_START && +- index->ptruse[i] <= CLASS_END) { ++ if (idx->ptruse[i] >= CLASS_START && ++ idx->ptruse[i] <= CLASS_END) { + retval |= bit(CLASS); + } + #endif + +- if (index->ptruse[i] >= ISMEMBERPTR && +- index->ptruse[i] <= ISPARTPTR) ++ if (idx->ptruse[i] >= ISMEMBERPTR && ++ idx->ptruse[i] <= ISPARTPTR) + retval |= bit(HOLONYM); +- else if (index->ptruse[i] >= HASMEMBERPTR && +- index->ptruse[i] <= HASPARTPTR) ++ else if (idx->ptruse[i] >= HASMEMBERPTR && ++ idx->ptruse[i] <= HASPARTPTR) + retval |= bit(MERONYM); + +@@ -1873,7 +1903,7 @@ + /* check for inherited holonyms and meronyms */ + +- if (HasHoloMero(index, HMERONYM)) ++ if (HasHoloMero(idx, HMERONYM)) + retval |= bit(HMERONYM); +- if (HasHoloMero(index, HHOLONYM)) ++ if (HasHoloMero(idx, HHOLONYM)) + retval |= bit(HHOLONYM); + +@@ -1893,5 +1923,5 @@ + } + +- free_index(index); ++ free_index(idx); + wnresults.numforms++; + } +@@ -1902,5 +1932,6 @@ + meronyms or holonyms. */ + +-static int HasHoloMero(IndexPtr index, int ptrtyp) ++static int ++HasHoloMero(IndexPtr idx, int ptyp) + { + int i, j; +@@ -1909,8 +1940,8 @@ + int ptrbase; + +- ptrbase = (ptrtyp == HMERONYM) ? HASMEMBERPTR : ISMEMBERPTR; ++ ptrbase = (ptyp == HMERONYM) ? HASMEMBERPTR : ISMEMBERPTR; + +- for(i = 0; i < index->off_cnt; i++) { +- synset = read_synset(NOUN, index->offset[i], ""); ++ for(i = 0; i < idx->off_cnt; i++) { ++ synset = read_synset(NOUN, idx->offset[i], ""); + for (j = 0; j < synset->ptrcount; j++) { + if (synset->ptrtyp[j] == HYPERPTR) { +@@ -1928,10 +1959,10 @@ + } + +-static int HasPtr(SynsetPtr synptr, int ptrtyp) ++static int HasPtr(SynsetPtr synptr, int ptyp) + { + int i; + + for(i = 0; i < synptr->ptrcount; i++) { +- if(synptr->ptrtyp[i] == ptrtyp) { ++ if(synptr->ptrtyp[i] == ptyp) { + return(1); + } +@@ -1943,5 +1974,6 @@ + word is not in WordNet. */ + +-unsigned int in_wn(char *word, int pos) ++unsigned int ++in_wn(const char *word, int pos) + { + int i; +@@ -1971,5 +2003,6 @@ + /* Strip off () enclosed comments from a word */ + +-static char *deadjify(char *word) ++static char * ++deadjify(char *word) + { + char *y; +@@ -2001,5 +2034,6 @@ + strtolower(wdbuf); + +- if (idx = index_lookup(wdbuf, getpos(synptr->pos))) { ++ idx = index_lookup(wdbuf, getpos(synptr->pos)); ++ if (idx) { + for (i = 0; i < idx->off_cnt; i++) + if (idx->offset[i] == synptr->hereiam) { +@@ -2012,5 +2046,7 @@ + } + +-static void printsynset(char *head, SynsetPtr synptr, char *tail, int definition, int wdnum, int antflag, int markerflag) ++static void ++printsynset(const char *head, SynsetPtr synptr, const char *tail, ++ int definition, int wdnum, int antflag, int markerflag) + { + int i, wdcnt; +@@ -2025,5 +2061,5 @@ if (offsetflag) /* print synset offset */ - sprintf(tbuf + strlen(tbuf),"{%8.8d} ", synptr->hereiam); + sprintf(tbuf + strlen(tbuf),"{%8.8ld} ", synptr->hereiam); if (fileinfoflag) { /* print lexicographer file information */ sprintf(tbuf + strlen(tbuf), "<%s> ", lexfiles[synptr->fnum]); -@@ -2385,5 +2385,5 @@ +@@ -2050,9 +2086,10 @@ + } + +-static void printantsynset(SynsetPtr synptr, char *tail, int anttype, int definition) ++static void ++printantsynset(SynsetPtr synptr, const char *tail, int definition) + { + int i, wdcnt; + char tbuf[SMLINEBUF]; +- char *str; ++ const char *str; + int first = 1; + +@@ -2060,5 +2097,5 @@ if (offsetflag) - sprintf(tbuf,"{%8.8d} ", synptr->hereiam); + sprintf(tbuf,"{%8.8ld} ", synptr->hereiam); if (fileinfoflag) { sprintf(tbuf + strlen(tbuf),"<%s> ", lexfiles[synptr->fnum]); +@@ -2100,6 +2137,6 @@ + static void catword(char *buf, SynsetPtr synptr, int wdnum, int adjmarker, int antflag) + { +- static char vs[] = " (vs. %s)"; +- static char *markers[] = { ++ static const char vs[] = " (vs. %s)"; ++ static const char *markers[] = { + "", /* UNKNOWN_MARKER */ + "(predicate)", /* PREDICATIVE */ +@@ -2133,5 +2170,7 @@ + } + +-static char *printant(int dbase, SynsetPtr synptr, int wdnum, char *template, char *tail) ++static const char * ++printant(int dbase, SynsetPtr synptr, int wdnum, ++ const char *template, const char *tail) + { + int i, j, wdoff; +@@ -2187,5 +2226,6 @@ + } + +-static void printbuffer(char *string) ++static void ++printbuffer(const char *string) + { + if (overflag) +@@ -2197,11 +2237,13 @@ + } + +-static void printsns(SynsetPtr synptr, int sense) ++static void ++printsns(SynsetPtr synptr, int sense_) + { +- printsense(synptr, sense); ++ printsense(synptr, sense_); + printsynset("", synptr, "\n", DEFON, ALLWORDS, PRINT_ANTS, PRINT_MARKER); + } + +-static void printsense(SynsetPtr synptr, int sense) ++static void ++printsense(SynsetPtr synptr, int sense_) + { + char tbuf[256]; +@@ -2211,7 +2253,7 @@ + if (fnflag) + sprintf(tbuf,"\nSense %d in file \"%s\"\n", +- sense, lexfiles[synptr->fnum]); ++ sense_, lexfiles[synptr->fnum]); + else +- sprintf(tbuf,"\nSense %d\n", sense); ++ sprintf(tbuf,"\nSense %d\n", sense_); + + printbuffer(tbuf); |