mirror of
https://github.com/boostorg/build.git
synced 2026-02-13 00:12:11 +00:00
for getting the list of variable names and for clearing all rule and variable storage. * compile.c - better error reporting for unknown rules; now it is a hard error. * hash.c/h - added hash_free to allow removal of elements from a hash * rule.c/h - implemented rule freeing; stopped exporting rules to the global module by default. * variable.c - reclaim variable storage when disposing of variable hash. * build.jam - make grammar building work under NT [SVN r18405]
21 lines
617 B
C
21 lines
617 B
C
/*
|
|
* Copyright 1993, 1995 Christopher Seiwald.
|
|
*
|
|
* This file is part of Jam - see jam.c for Copyright information.
|
|
*/
|
|
|
|
/*
|
|
* hash.h - simple in-memory hashing routines
|
|
*/
|
|
|
|
typedef struct hashdata HASHDATA;
|
|
|
|
struct hash * hashinit( int datalen, char *name );
|
|
int hashitem( struct hash *hp, HASHDATA **data, int enter );
|
|
void hashdone( struct hash *hp );
|
|
void hashenumerate( struct hash *hp, void (*f)(void*,void*), void* data );
|
|
int hash_free( struct hash *hp, HASHDATA *data);
|
|
|
|
# define hashenter( hp, data ) (!hashitem( hp, data, !0 ))
|
|
# define hashcheck( hp, data ) hashitem( hp, data, 0 )
|