Provided by: wordnet-dev_3.0-35_amd64 bug


       bin_search, copyfile, replace_line, insert_line - general purpose functions for performing
       a binary search


       char *bin_search(char *key, FILE *fp);

       void copyfile(FILE *fromfp, FILE *tofp);

       char *replace_line(char *new_line, char *key, FILE *fp);

       char *insert_line(char *new_line, char *key, FILE *fp);


       The WordNet library contains several general purpose functions  for  performing  a  binary
       search and modifying sorted files.

       bin_search() is the primary binary search algorithm to search for key as the first item on
       a line in the file pointed to by fp.  The delimiter between the key and the  rest  of  the
       fields  on  the  line, if any, must be a space.  A pointer to a static variable containing
       the entire line is returned.  NULL is returned if a match is not found.

       The remaining functions are not used by WordNet, and are only briefly described.

       copyfile() copies the contents of one file to another.

       replace_line() replaces a line in a  file  having  searchkey  key  with  the  contents  of
       new_line.  It returns the original line or NULL in case of error.

       insert_line()  finds the proper place to insert the contents of new_line, having searchkey
       key in the sorted file pointed to by fp.  It returns NULL if a line with this searchkey is
       already in the file.


       The maximum length of key is 1024.

       The maximum line length in a file is 25K.

       If  there  are  no  additional fields after the search key, the key must be followed by at
       least one space before the newline character.


       wnintro(3WN), morph(3WN), wnsearch(3WN), wnutil(3WN), wnintro(5WN).


       binsearch() returns a pointer to a static character buffer.  The returned string should be
       copied  by  the  caller if the results need to be saved, as a subsequent call will replace
       the contents of the static buffer.