Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
namefind(3)		      MBK UTILITY FUNCTIONS		     namefind(3)

NAME
     namefind - hash table for strings

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

PARAMETER
     inputname		 Pointer to a string of characters

DESCRIPTION
     The  namefind  function  search the mbk dictionary of names.  If the string
     has already been inserted in the dictionary, 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 being searched in the symbol table. This is needed because	most  of
     the file format do not check case.
     namefind is used by all mbk utility function using names, so its use should
     be  needed  only  when directly filling or modifying 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.

RETURN VALUE
     namefind  returns	a string pointer if the inputname is already in the hash
     table, else NULL.

EXAMPLE
     #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;
     }

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

SEE ALSO
     mbk(1) namealloc(3).

ASIM/LIP6			 October 1, 1997		     namefind(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=namefind&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help