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

FreeBSD Manual Pages

  
 
  

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

NAME
       namefind	- hash table for strings

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

PARAMETER
       inputname	   Pointer to a	string of characters

DESCRIPTION
       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 case.
       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.

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)

NAME | SYNOPSYS | PARAMETER | DESCRIPTION | RETURN VALUE | EXAMPLE | DIAGNOSTICS | SEE ALSO

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

home | help