GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  NAMEALLOC (3)

[Include document man1/alc_contents.mac]

   namealloc    namealloc

NAME

namealloc - hash table for strings

[Include document man1/alc_origin.1]

CONTENTS

Synopsys
Parameter
Description
Return Value
Example
Diagnostics
See Also

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 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 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).

[Include document man1/alc_bug_report.1]

Search for    or go to Top of page |  Section 3 |  Main Index


ASIM/LIP6 NAMEALLOC (3) October 1, 1997

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.