diff options
Diffstat (limited to 'textproc/wordnet/files/patch-lib__wnutil.c')
| -rw-r--r-- | textproc/wordnet/files/patch-lib__wnutil.c | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/textproc/wordnet/files/patch-lib__wnutil.c b/textproc/wordnet/files/patch-lib__wnutil.c new file mode 100644 index 000000000000..5a27c30a0535 --- /dev/null +++ b/textproc/wordnet/files/patch-lib__wnutil.c @@ -0,0 +1,286 @@ +--- lib/wnutil.c Fri May 6 13:17:39 2005 ++++ lib/wnutil.c Wed Dec 21 16:04:36 2005 +@@ -15,5 +15,5 @@ + #ifdef __unix__ + #ifndef __MACH__ +-#include <malloc.h> ++#include <stdlib.h> + #endif + #endif +@@ -25,5 +25,5 @@ + #include "wn.h" + +-static int do_init(); ++static int do_init(void); + + static char msgbuf[256]; /* buffer for constructing error messages */ +@@ -37,5 +37,5 @@ + /* Initialization functions */ + +-static void closefps(); ++static void closefps(void); + + int wninit(void) +@@ -46,7 +46,6 @@ + + if (!done) { +- if (env = getenv("WNDBVERSION")) { +- wnrelease = strdup(env); /* set release */ +- assert(wnrelease); ++ if ((env = getenv("WNDBVERSION"))) { ++ wnrelease = env; /* set release */ + } + openerr = do_init(); +@@ -68,7 +67,6 @@ + closefps(); + +- if (env = getenv("WNDBVERSION")) { +- wnrelease = strdup(env); /* set release */ +- assert(wnrelease); ++ if ((env = getenv("WNDBVERSION"))) { ++ wnrelease = env; /* set release */ + } + openerr = do_init(); +@@ -248,4 +246,20 @@ + } + ++char *strtolower2(const char *from, char *to) ++{ ++ ++ char *t = to; ++ ++ do { ++ if(*from >= 'A' && *from <= 'Z') ++ *t = *from++ + 32; ++ else if(*from == '(') ++ *t = '\0'; ++ else ++ *t = *from++; ++ } while (*t++); ++ return(to); ++} ++ + /* Convert string passed to lower case */ + +@@ -276,11 +290,24 @@ + /* Return pointer code for pointer type characer passed. */ + +-int getptrtype(char *ptrstr) ++unsigned short ++getptrtype(const char *ptrstr, char **end) + { +- register int i; ++ unsigned short i; ++ const char *ptype, *pstr; + for(i = 1; i <= MAXPTR; i++) { +- if(!strcmp(ptrstr, ptrtyp[i])) ++ ptype = ptrtyp[i]; ++ pstr = ptrstr; ++ while (*pstr == *ptype && *ptype) { ++ pstr++; ++ ptype++; ++ } ++ if (*ptype == '\0' && ++ (*pstr == '\n' || *pstr == ' ' || *pstr == '\0')) { ++ if (end) ++ *(const void **)end = pstr; + return(i); ++ } + } ++ fprintf(stderr, "Could not find the type of %s\n", ptrstr); + return(0); + } +@@ -288,5 +315,6 @@ + /* Return part of speech code for string passed */ + +-int getpos(char *s) ++int ++getpos(const char *s) + { + switch (*s) { +@@ -310,5 +338,6 @@ + /* Return synset type code for string passed. */ + +-int getsstype(char *s) ++int ++getsstype(const char *s) + { + switch (*s) { +@@ -332,5 +361,6 @@ + /* Pass in string for POS, return corresponding integer value */ + +-int StrToPos(char *str) ++int ++StrToPos(const char *str) + { + if (!strcmp(str, "noun")) +@@ -389,5 +419,6 @@ + /* Return synset for sense key passed. */ + +-SynsetPtr GetSynsetForSense(char *sensekey) ++SynsetPtr ++GetSynsetForSense(const char *sensekey) + { + long offset; +@@ -405,7 +436,8 @@ + /* Find offset of sense key in data file */ + +-long GetDataOffset(char *sensekey) ++long ++GetDataOffset(const char *sensekey) + { +- char *line; ++ const char *line; + + /* Pass in encoded sense string, return byte offset of corresponding +@@ -426,5 +458,6 @@ + /* Find polysemy count for sense key passed. */ + +-int GetPolyCount(char *sensekey) ++int ++GetPolyCount(const char *sensekey) + { + IndexPtr idx; +@@ -443,5 +476,6 @@ + + /* Return word part of sense key */ +-char *GetWORD(char *sensekey) ++const char * ++GetWORD(const char *sensekey) + { + static char word[100]; +@@ -457,5 +491,6 @@ + /* Return POS code for sense key passed. */ + +-int GetPOS(char *sensekey) ++int ++GetPOS(const char *sensekey) + { + int pos; +@@ -470,5 +505,6 @@ + /* Reconstruct synset from synset pointer and return ptr to buffer */ + +-char *FmtSynset(SynsetPtr synptr, int defn) ++const char * ++FmtSynset(SynsetPtr synptr, int defn) + { + int i; +@@ -542,27 +578,8 @@ + } + +-/* Search for string and/or baseform of word in database and return +- index structure for word if found in database. */ +- +-IndexPtr GetValidIndexPointer(char *word, int pos) +-{ +- IndexPtr idx; +- char *morphword; +- +- idx = getindex(word, pos); +- +- if (idx == NULL) { +- if ((morphword = morphstr(word, pos)) != NULL) +- while (morphword) { +- if ((idx = getindex(morphword, pos)) != NULL) break; +- morphword = morphstr(NULL, pos); +- } +- } +- return (idx); +-} +- + /* Return sense number in database for word and lexsn passed. */ + +-int GetWNSense(char *word, char *lexsn) ++int ++GetWNSense(const char *word, const char *lexsn) + { + SnsIndexPtr snsidx; +@@ -578,7 +595,8 @@ + /* Return parsed sense index entry for sense key passed. */ + +-SnsIndexPtr GetSenseIndex(char *sensekey) ++SnsIndexPtr ++GetSenseIndex(const char *sensekey) + { +- char *line; ++ const char *line; + char buf[256], loc[9]; + SnsIndexPtr snsidx = NULL; +@@ -608,5 +626,6 @@ + int GetTagcnt(IndexPtr idx, int sense) + { +- char *sensekey, *line; ++ char *sensekey; ++ const char *line; + char buf[256]; + int snum, cnt = 0; +@@ -632,10 +651,11 @@ + } + +-char *GetOffsetForKey(unsigned int key) ++const char * ++GetOffsetForKey(unsigned int key) + { + unsigned int rkey; + char ckey[7]; + static char loc[11] = ""; +- char *line; ++ const char *line; + char searchdir[256], tmpbuf[256]; + +@@ -657,10 +677,10 @@ + } + +- +-unsigned int GetKeyForOffset(char *loc) ++unsigned int ++GetKeyForOffset(const char *loc) + { + unsigned int key; + char rloc[11] = ""; +- char *line; ++ const char *line; + char searchdir[256], tmpbuf[256]; + +@@ -681,8 +701,9 @@ + } + +-char *SetSearchdir() ++const char * ++SetSearchdir() + { +- static char searchdir[256]; +- char *env; ++ char *searchdir; ++ const char *env; + + /* Find base directory for database. If set, use WNSEARCHDIR. +@@ -690,14 +711,17 @@ + + if ((env = getenv("WNSEARCHDIR")) != NULL) +- strcpy(searchdir, env); +- else if ((env = getenv("WNHOME")) != NULL) ++ return(env); ++ else if ((env = getenv("WNHOME")) != NULL) { ++ searchdir = malloc(strlen(env) + sizeof(DICTDIR)); + sprintf(searchdir, "%s%s", env, DICTDIR); +- else +- strcpy(searchdir, DEFAULTPATH); +- +- return(searchdir); ++ return(searchdir); ++ } else ++ return(DEFAULTPATH); + } + +-int default_display_message(char *msg) ++#ifndef __GNUC__ ++# define __unused ++#endif ++int default_display_message(const char *msg __unused) + { + return(-1); +@@ -727,3 +751,2 @@ + return (loc - strstr_stringstart); + } +- |
