Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

namealloc(3) [x11r4 man page]

NAMEALLOC(3)						       MBK UTILITY FUNCTIONS						      NAMEALLOC(3)

NAME
namealloc - hash table for strings ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.fr SYNOPSYS
#include "mut.h" char *namealloc(inputname) char *inputname; PARAMETER
inputname Pointer to a string of characters DESCRIPTION
The namealloc function creates a dictionnary of names in mbk. It warranties equality on characters string if the pointers to these strings are equal, at strcmp(3) meaning. This means also that there is a single memory address for a given string. The case of the letters do not matter. All names are changed to lower case before beeing introduced in the symbol table. This is needed because most of the file format do not check case. namealloc is used by all mbk utility function using names, so its use should be needed only when directly filling or modifing the struc- ture, 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 namealloc, 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 namealloc are constants string, and therefore must be left alone. RETURN VALUE
namealloc returns a string pointer. If the inputname is already in the hash table, then its internal pointer is returned, else a new entry is created, and then the new pointer returned. EXAMPLE
#include "mut.h" #include "mlo.h" lofig_list *find_fig(name) char *name; { lofig_list *p; name = namealloc(name); for (p = HEAD_LOFIG; p; p = p->NEXT) if (p->NAME == name) /* pointer equality */ return p; return NULL; } DIAGNOSTICS
namealloc can be used only after a call to mbkenv(3). SEE ALSO
mbk(1). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 NAMEALLOC(3)

Check Out this Related Man Page

ADDHTITEM(3)						MBK HASH TABLE MANAGEMENT FUNCTIONS					      ADDHTITEM(3)

NAME
addhtitem - adds a new item in a hash table. ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.fr SYNOPSYS
#include "mut.h" void addhtitem(table, key, value) ht *table; void *key; int value; PARAMETERS
table Hash table pointer key Key used by the hash coding function to add the item value Value associated with the key DESCRIPTION
addhtitem() adds a new item in the hash table pointed to by table. If the key already exists, the old value is changed to the new one. Value must be distinct from EMPTYHT and DELETEHT. The length of the table increases automatically when the length given in addht() leads to a performance shut down. EXAMPLE
#include "mut.h" #include "mlo.h" void conHenter(h, ptfig) ht *h; lofig_list *ptfig; { locon_list *ptcon; /* since connector names are unique, add them without check */ for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT) addhtitem(h, ptcon->NAME, 0); } ERRORS
"*** mbk error *** addhtitem impossible : value is EMPTYHT or DELETEHT" The values EMPTYHT, -1, and DELETEHT, -2, are reserved for internal use, sorry. DIAGNOSTICS
The value must be distinct from -1 and -2. SEE ALSO
mbk(1), addht(3), delht(3), gethtitem(3), sethtitem(3), delhtitem(3), viewht(3). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 ADDHTITEM(3)
Man Page