added function to check if hash table value exists for a given key
[rocksndiamonds.git] / src / libgame / hash.h
index 8d0eff235c38348e4e7afbb5b9667aa33510e51d..8fe6f7fabbd4ab0c8861ba9f077c4a6f4c3d6064 100644 (file)
@@ -196,6 +196,24 @@ static int fnname (struct hashtable *h, keytype *k, valuetype *v) \
   return hashtable_change(h, k, v); \
 }
 
+/*****************************************************************************
+ * hashtable_exists
+   
+ * @name        hashtable_exists
+ * @param   h   the hashtable to search
+ * @param   k   the key to search for
+ * @return      non-zero if key exists, else zero
+ */
+
+int
+hashtable_exists(struct hashtable *h, void *k);
+
+#define DEFINE_HASHTABLE_EXISTS(fnname, keytype, valuetype) \
+static int fnname (struct hashtable *h, keytype *k) \
+{ \
+  return hashtable_exists(h, k); \
+}
+
 /*****************************************************************************
  * hashtable_search