/* * Copyright 1992, 1993, Geoff Kuenning, Granada Hills, CA * All rights reserved. * * Copyright 1994 by Ulisses Pinto & Jose' Joa~o Almeida, Universidade do Minho */ extern char *skiptoword(char * bufp); extern char * skipoverword(char * bufp); extern void skip_ntroff_text_formaters(int hadlf, FILE *ofile); extern int addvheader(struct dent * ent); extern void askmode(void); extern void backup(void); extern int casecmp(char * a, char * b, int canonical); extern void chupcase(char * s); extern void checkfile(void); extern void checkline(FILE * ofile); extern void chk_aff(ichar_t * word, ichar_t * ucword, int len, int ignoreflagbits, int allhits, int add_poss, int reconly); extern int combinecaps(struct dent * hdr, struct dent * newent); extern int compoundgood(ichar_t * word); extern void copyout(char ** cc, int cnt); extern void correct(char * ctok, ichar_t * itok, char ** curchar); extern char * do_regex_lookup(char * expr, int whence); extern SIGNAL_TYPE done(int); extern void dumpmode(void); /* extern void erase(void); */ extern int expand_pre(char *croot, ichar_t *rootword, MASKTYPE mask[], int option, char *extra); extern int expand_suf(char *croot, ichar_t *rootword, MASKTYPE mask[], int crossonly, int option, char *extra, char *pre_class); extern int findfiletype(char *name, int searchnames, int *deformatter); extern void flagpr(ichar_t *word, int preflag, int prestrip, int preadd, ichar_t *preclass, int sufflag, int sufadd, ichar_t *sufclass); extern int good(ichar_t *word, int ignoreflagbits, int allhits, int add_poss, int reconly); extern int hash(ichar_t *word, int hashtablesize); #ifndef ICHAR_IS_CHAR extern int icharcmp(ichar_t *s1, ichar_t *s2); extern ichar_t *icharcpy(ichar_t *out, ichar_t *in); extern int icharlen(ichar_t *str); extern int icharncmp(ichar_t *s1, ichar_t *s2, int n); #endif /* ICHAR_IS_CHAR */ extern int ichartostr(char *out, ichar_t *in, int outlen, int canonical); extern char * ichartosstr(ichar_t *in, int canonical); extern int ins_root_cap(ichar_t *word, ichar_t *pattern, int prestrip, int preadd, int sufstrip, int sufadd, struct dent *firstdent, struct flagent *pfxent, struct flagent *sufent); extern void inverse(void); extern int linit(void); extern struct dent * lookup(ichar_t *word, int dotree); extern void lowcase(ichar_t *string); extern int makedent(char *lbuf, int lbuflen, struct dent *d); extern void makepossibilities(ichar_t *word); /* extern void move(int row, int col); */ extern void normal(void); extern char * printichar(int in); #ifndef REGEX_LOOKUP extern int shellescape(char *buf); #endif /* REGEX_LOOKUP */ extern char * skipoverword(char *bufp); extern void stop(void); extern int stringcharlen(char *bufp, int canonical); extern int strtoichar(ichar_t *out, char *in, int outlen, int canonical); extern ichar_t *strtosichar(char * in, int canonical); extern void terminit(void); extern void toutent(FILE *outfile, struct dent *hent, int onlykeep); extern void treeinit(char *persdict, char *LibDict); extern void treeinsert(char *word, int wordlen, int keep); extern struct dent *treelookup(register ichar_t *word, hash_info *dic); extern void treeoutput(void); extern void upcase(ichar_t *string); #ifndef NO_CAPITALIZATION_SUPPORT extern long whatcap(ichar_t *word); #endif extern char * xgets(char *string, int size, FILE *stream); extern void yyinit(void); extern int yyopen(char *file); extern int yyparse(void); extern void myfree(void *area); extern void * mymalloc(unsigned int); /* * C library functions. If possible, we get these from stdlib.h. */ #ifdef NO_STDLIB_H extern int access(const char *file, int mode); extern int atoi(const char *string); extern void * calloc(unsigned int nelems, unsigned int elemsize); #ifdef _POSIX_SOURCE extern int chmod(const char *file, unsigned int mode); #else /* _POSIX_SOURCE */ extern int chmod(const char *file, unsigned long mode); #endif /* POSIX_SOURCE */ extern int close(int fd); extern int creat(const char *file, int mode); extern int execvp(const char *name, const char *argv[]); extern void _exit(int status); extern void exit(int status); extern char * fgets(char *string, int size, FILE *stream); extern int fork(void); extern void free(void *area); extern char * getenv(const char *varname); extern int ioctl(int fd, int func, char *arg); extern int kill(int pid, int sig); extern int link(const char *existing, const char *new); extern long lseek(int fd, long offset, int whence); extern void * malloc(unsigned int size); extern void * memcpy(void *dest, const void *src); extern void * memset(void *dest, int val, unsigned int len); extern char * mktemp(char *prototype); extern int open(const char *file, int mode); extern void perror(const char *msg); extern void qsort(void *array, unsigned int nelems, unsigned int elemsize, */ int (*cmp) (const void *a, const void *b)); extern int read(int fd, void *buf, unsigned int n); extern void * realloc(void *area, unsigned int size); extern unsigned int sleep(unsigned int); extern char * strcat(char *dest, const char *src); extern char * strchr(const char *string, int ch); extern int strcmp(const char *s1, const char *s2); extern char * strcpy(char *dest, const char *src); extern unsigned int strlen(const char *str); extern int strncmp(const char *s1, const char *s2, unsigned int len); extern char * strrchr(const char *string, int ch); extern int system(const char *command); extern int unlink(const char *file); extern int wait(int *statusp); #else /* NO_STDLIB_H */ #include #endif /* NO_STDLIB_H */ #ifdef REGEX_LOOKUP extern char * regcmp(const char *expr, const char *terminator, ...); extern char * regex(const char *pat, const char *subject, ...); #endif /* REGEX_LOOKUP */ extern int tgetent(char *buf, const char * termname); extern char * tgoto(const char *cm, int col, int row); void add_my_poss(ichar_t *word, struct dent *dent, struct flagent *pflent, struct flagent *sflent, struct flagent *sflent2); void init_gentable(); char *cut_by_dollar(char *staux);