Provided by: alliance_5.0-20110203-4_amd64 bug


       namefind - hash table for strings


       #include "mut.h"
       char ∗namefind(inputname)
       char ∗inputname;


       inputname           Pointer to a string of characters


       The namefind function search the mbk dictionnary of names.  If the string has already been
       inserted in the dictionnary, then a pointer  to  this  string  is  return,  else  namefind
       returns NULL.
       The  case  of the letters do not matter. All names are changed to lower case before beeing
       searched in the symbol table. This is needed because most of the file format do not  check
       namefind is used by all mbk utility function using names, so its use should be needed only
       when directly filling or modifing the structure, or when having  to  compare  an  external
       string to mbk internal ones. This should speed up string comparisons.
       One  shall never modify the contains of a string pointed to by a result of namefind, since
       all the field that points to this name would have there values modified, and that there is
       no  chance  that  the new hash code will be the same as the old one, so pointer comparison
       would be meaningless. All string used by namefind are constants string, and therefore must
       be left alone.


       namefind  returns  a  string  pointer  if the inputname is already in the hash table, else


       #include "mut.h"
       #include "mlo.h"
       lofig_list ∗find_fig(name)
       char ∗name;
       lofig_list ∗p;
          name = namefind(name);
          if (name == NULL)
              return NULL;
          for (p = HEAD_LOFIG; p; p = p->NEXT)
             if (p->NAME == name) /∗ pointer equality ∗/
                return p;
          return NULL;


       namefind can be used only after a call to mbkenv(3).


       mbk(1) namealloc(3).