summaryrefslogtreecommitdiffstats
path: root/moon-abe/pbc-0.5.14/misc/symtab.c
diff options
context:
space:
mode:
Diffstat (limited to 'moon-abe/pbc-0.5.14/misc/symtab.c')
-rw-r--r--moon-abe/pbc-0.5.14/misc/symtab.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/moon-abe/pbc-0.5.14/misc/symtab.c b/moon-abe/pbc-0.5.14/misc/symtab.c
deleted file mode 100644
index 9d62f590..00000000
--- a/moon-abe/pbc-0.5.14/misc/symtab.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include "pbc_memory.h"
-
-#include "symtab.h"
-
-struct entry_s {
- char *key;
- void *data;
-};
-typedef struct entry_s *entry_ptr;
-typedef struct entry_s entry_t[1];
-
-void symtab_init(symtab_t t) {
- darray_init(t->list);
-}
-
-static void clear(void *data) {
- entry_ptr e = data;
- pbc_free(e->key);
- pbc_free(e);
-}
-
-void symtab_clear(symtab_t t) {
- darray_forall(t->list, clear);
- darray_clear(t->list);
-}
-
-void symtab_put(symtab_t t, void *data, const char *key) {
- int i, n = t->list->count;
- entry_ptr e;
- for (i=0; i<n; i++) {
- e = t->list->item[i];
- if (!strcmp(e->key, key)) goto doit;
- }
- e = pbc_malloc(sizeof(entry_t));
- e->key = pbc_strdup(key);
- darray_append(t->list, e);
-doit:
- e->data = data;
-}
-
-int symtab_has(symtab_t t, const char *key) {
- int i, n = t->list->count;
- for (i = 0; i < n; i++) {
- entry_ptr e = t->list->item[i];
- if (!strcmp(e->key, key)) return 1;
- }
- return 0;
-}
-
-void *symtab_at(symtab_t t, const char *key) {
- int i, n = t->list->count;
- for (i=0; i<n; i++) {
- entry_ptr e = t->list->item[i];
- if (!strcmp(e->key, key)) return e->data;
- }
- return NULL;
-}
-
-void symtab_forall_data(symtab_t t, void (*func)(void *)) {
- int i, n = t->list->count;
- for (i=0; i<n; i++) {
- entry_ptr e = t->list->item[i];
- func(e->data);
- }
-}