aboutsummaryrefslogtreecommitdiff
path: root/src/common/ht.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-04-18 03:58:42 +0000
committerNick Mathewson <nickm@torproject.org>2006-04-18 03:58:42 +0000
commit8a13a7cfe891d4006a9d1feca61ffebcf4f1f4d8 (patch)
tree02fc7df2b676efc8a3dec286a273bb6723d9f0d6 /src/common/ht.h
parent7484ca06a5aaf060736485e6115aa0b2771ef036 (diff)
downloadtor-8a13a7cfe891d4006a9d1feca61ffebcf4f1f4d8.tar.gz
tor-8a13a7cfe891d4006a9d1feca61ffebcf4f1f4d8.zip
mainline branch. Remove some more dead XXXs.
svn:r6401
Diffstat (limited to 'src/common/ht.h')
-rw-r--r--src/common/ht.h72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/common/ht.h b/src/common/ht.h
index 81ff5cb630..9e8e38ecef 100644
--- a/src/common/ht.h
+++ b/src/common/ht.h
@@ -188,7 +188,6 @@ ht_string_hash(const char *s)
int (*fn)(struct type *, void *), \
void *data) \
{ \
- /* XXXX use tricks to prevent concurrent mod? */ \
unsigned idx; \
int remove; \
struct type **p, **nextp, *next; \
@@ -262,77 +261,6 @@ ht_string_hash(const char *s)
} \
}
-#if 0
-/* Helpers for an iterator type that saves some mod operations at the expense
- * of many branches. Not worth it, it seems. */
-
-#define HT_ITER(type) \
- struct type##_ITER { \
- struct type **hti_nextp; \
- unsigned hti_bucket; \
- }
-
- static INLINE void \
- name##_HT_ITER_START(struct name *head, struct type##_ITER *iter) \
- { \
- /* XXXX Magic to stop modifications? */ \
- iter->hti_bucket = 0; \
- while (iter->hti_bucket < head->hth_table_length) { \
- iter->hti_nextp = &head->hth_table[iter->hti_bucket]; \
- if (*iter->hti_nextp) \
- return; \
- ++iter->hti_bucket; \
- } \
- iter->hti_nextp = NULL; \
- } \
- static INLINE int \
- name##_HT_ITER_DONE(struct name *head, struct type##_ITER *iter) \
- { \
- return iter->hti_nextp == NULL; \
- } \
- static INLINE struct type * \
- name##_HT_ITER_GET(struct name *head, struct type##_ITER *iter) \
- { \
- return *iter->hti_nextp; \
- } \
- static INLINE void \
- name##_HT_ITER_NEXT(struct name *head, struct type##_ITER *iter) \
- { \
- if (!iter->hti_nextp) \
- return; \
- if ((*iter->hti_nextp)->field.hte_next) { \
- iter->hti_nextp = &(*iter->hti_nextp)->field.hte_next; \
- return; \
- } \
- while (++iter->hti_bucket < head->hth_table_length) { \
- iter->hti_nextp = &head->hth_table[iter->hti_bucket]; \
- if (*iter->hti_nextp) \
- return; \
- ++iter->hti_bucket; \
- } \
- iter->hti_nextp = NULL; \
- } \
- static INLINE void \
- name##_HT_ITER_NEXT_RMV(struct name *head, struct type##_ITER *iter) \
- { \
- if (!iter->hti_nextp) \
- return; \
- --head->hth_n_entries; \
- if ((*iter->hti_nextp)->field.hte_next) { \
- *iter->hti_nextp = (*iter->hti_nextp)->field.hte_next; \
- if (*iter->hti_nextp) \
- return; \
- } \
- while (++iter->hti_bucket < head->hth_table_length) { \
- iter->hti_nextp = &head->hth_table[iter->hti_bucket]; \
- if (*iter->hti_nextp) \
- return; \
- ++iter->hti_bucket; \
- } \
- iter->hti_nextp = NULL; \
- }
-#endif
-
#define HT_GENERATE(name, type, field, hashfn, eqfn, load, mallocfn, \
reallocfn, freefn) \
static unsigned name##_PRIMES[] = { \