aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-05-10 14:22:28 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-05-10 14:22:28 +0300
commit3e5d6e9683d5d3efa3a82556d0f73892d674ed71 (patch)
tree0baa7d3cecce3b984e85eef238887d501b780744 /src
parent8bd6f1e59b1663089bf8c81d8d2b14e20010c6e4 (diff)
downloadgrecs-3e5d6e9683d5d3efa3a82556d0f73892d674ed71.tar.gz
grecs-3e5d6e9683d5d3efa3a82556d0f73892d674ed71.tar.bz2
Bugfixes.
* Makefile.am (gitid.h): Fix sed expression. * src/grecs.h (grecs_hash_string): New proto. * src/symtab.c (grecs_hash_string): New function.
Diffstat (limited to 'src')
-rw-r--r--src/grecs.h3
-rw-r--r--src/symtab.c13
2 files changed, 12 insertions, 4 deletions
diff --git a/src/grecs.h b/src/grecs.h
index decde1d..40ade87 100644
--- a/src/grecs.h
+++ b/src/grecs.h
@@ -318,6 +318,9 @@ int grecs_symtab_enumerate(struct grecs_symtab *st,
318 grecs_symtab_enumerator_t fun, void *data); 318 grecs_symtab_enumerator_t fun, void *data);
319 319
320size_t grecs_symtab_count_entries(struct grecs_symtab *st); 320size_t grecs_symtab_count_entries(struct grecs_symtab *st);
321
322unsigned grecs_hash_string(const char *name, unsigned long hashsize);
323
321 324
322void grecs_value_free(struct grecs_value *val); 325void grecs_value_free(struct grecs_value *val);
323void grecs_node_free(struct grecs_node *node); 326void grecs_node_free(struct grecs_node *node);
diff --git a/src/symtab.c b/src/symtab.c
index ac1581b..297787c 100644
--- a/src/symtab.c
+++ b/src/symtab.c
@@ -73,11 +73,9 @@ syment_alloc(struct grecs_symtab *st, void *key)
73} 73}
74 74
75 75
76static unsigned 76unsigned
77def_hash(void *data, unsigned long hashsize) 77grecs_hash_string(const char *name, unsigned long hashsize)
78{ 78{
79 struct grecs_syment *sym = data;
80 const char *name = sym->name;
81 unsigned i; 79 unsigned i;
82 80
83 for (i = 0; *name; name++) { 81 for (i = 0; *name; name++) {
@@ -87,6 +85,13 @@ def_hash(void *data, unsigned long hashsize)
87 return i % hashsize; 85 return i % hashsize;
88} 86}
89 87
88static unsigned
89def_hash(void *data, unsigned long hashsize)
90{
91 struct grecs_syment *sym = data;
92 return grecs_hash_string(sym->name, hashsize);
93}
94
90static int 95static int
91def_cmp(const void *a, const void *b) 96def_cmp(const void *a, const void *b)
92{ 97{

Return to:

Send suggestions and report system problems to the System administrator.