use static callbacks
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Wed, 6 Jul 2022 00:00:36 +0000 (10:00 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Wed, 6 Jul 2022 00:00:36 +0000 (10:00 +1000)
vector/integeritem.c
vector/integeritem.h
vector/stringitem.c
vector/stringitem.h

index 57d309fd3d5dd857a252679f33d82386c46d45d9..0ad2302807ed3c046bd449bef3fa37bce6575dce 100644 (file)
@@ -1,6 +1,15 @@
 #include <integeritem.h>
 
-unsigned long integeritem_hashcode(itemkeyfun *this,void *key) {
+/**
+ * This callback function returns the hashcode of a key. The hashcode
+ * is used for indexing into the backing vector for finding the an
+ * item via its key. The same key must map consistently to the same
+ * hashcode while the hashtable contains an item with that key.
+ * Different keys map map to the same hashcode, in which case the
+ * vector placement is made at the first empty or hole slot following
+ * the hashcode index.
+ */
+static unsigned long integeritem_hashcode(itemkeyfun *this,void *key) {
     return (unsigned long) key;
 }
 
@@ -8,7 +17,7 @@ unsigned long integeritem_hashcode(itemkeyfun *this,void *key) {
  * This callback function determines whether an item has a
  * given key or not.
  */
-int integeritem_haskey(itemkeyfun *this,void *item,void *key) {
+static int integeritem_haskey(itemkeyfun *this,void *item,void *key) {
     return item == key;
 }
 
@@ -16,7 +25,7 @@ int integeritem_haskey(itemkeyfun *this,void *item,void *key) {
  * This callback function returns the key of an item by considering
  * the arity and schema.
  */
-void *integeritem_itemkey(itemkeyfun *this,void *item) {
+static void *integeritem_itemkey(itemkeyfun *this,void *item) {
     return item;
 }
 
@@ -24,7 +33,7 @@ void *integeritem_itemkey(itemkeyfun *this,void *item) {
  * This callback function handles a key obtained from the itemkey
  * callback function to reclaim temporary allocation.
  */
-void integeritem_releasekey(itemkeyfun *this,void *key) {
+static void integeritem_releasekey(itemkeyfun *this,void *key) {
 }
 
 itemkeyfun integeritem = {
index 3dc85454c170b3977a91a1ca07547e36eb7caadd..7518b2626892a3953b980e5240cb0eb294270e8c 100644 (file)
@@ -9,33 +9,4 @@
  */
 extern itemkeyfun integeritem;
 
-/**
- * This callback function returns the hashcode of a key. The hashcode
- * is used for indexing into the backing vector for finding the an
- * item via its key. The same key must map consistently to the same
- * hashcode while the hashtable contains an item with that key.
- * Different keys map map to the same hashcode, in which case the
- * vector placement is made at the first empty or hole slot following
- * the hashcode index.
- */
-extern unsigned long integeritem_hashcode(itemkeyfun *this,void *key);
-
-/**
- * This callback function determines whether an item has a
- * given key or not.
- */
-extern int integeritem_haskey(itemkeyfun *this,void *item,void *key);
-
-/**
- * This callback function returns the key of an item by considering
- * the arity and schema.
- */
-extern void *integeritem_itemkey(itemkeyfun *this,void *item);
-
-/**
- * This callback function handles a key obtained from the itemkey
- * callback function to reclaim temporary allocation.
- */
-extern void integeritem_releasekey(itemkeyfun *this,void *key);
-
 #endif
index 12ec1aca4f2eff7190335c6ab647af82864b9104..ce10e7cb8c260876a620a4869a96cc35ecf39e54 100644 (file)
@@ -2,7 +2,16 @@
 #include <stringitem.h>
 #include <hashvector.h>
 
-unsigned long integeritem_hashcode(itemkeyfun *this,void *key) {
+/**
+ * This callback function returns the hashcode of a key. The hashcode
+ * is used for indexing into the backing vector for finding the an
+ * item via its key. The same key must map consistently to the same
+ * hashcode while the hashtable contains an item with that key.
+ * Different keys map map to the same hashcode, in which case the
+ * vector placement is made at the first empty or hole slot following
+ * the hashcode index.
+ */
+static unsigned long stringitem_hashcode(itemkeyfun *this,void *key) {
     return hashvector_hashcode( (unsigned char*)key, strlen( (char*)key ) );
 }
 
@@ -10,7 +19,7 @@ unsigned long integeritem_hashcode(itemkeyfun *this,void *key) {
  * This callback function determines whether an item has a
  * given key or not.
  */
-int integeritem_haskey(itemkeyfun *this,void *item,void *key) {
+static int stringitem_haskey(itemkeyfun *this,void *item,void *key) {
     return strcmp( item, key ) == 0;
 }
 
@@ -18,7 +27,7 @@ int integeritem_haskey(itemkeyfun *this,void *item,void *key) {
  * This callback function returns the key of an item by considering
  * the arity and schema.
  */
-void *integeritem_itemkey(itemkeyfun *this,void *item) {
+static void *stringitem_itemkey(itemkeyfun *this,void *item) {
     return item;
 }
 
@@ -26,7 +35,7 @@ void *integeritem_itemkey(itemkeyfun *this,void *item) {
  * This callback function handles a key obtained from the itemkey
  * callback function to reclaim temporary allocation.
  */
-void integeritem_releasekey(itemkeyfun *this,void *key) {
+static void stringitem_releasekey(itemkeyfun *this,void *key) {
 }
 
 itemkeyfun stringitem = {
@@ -35,5 +44,3 @@ itemkeyfun stringitem = {
     .itemkey = stringitem_itemkey,
     .releasekey = stringitem_releasekey
 };
-
-
index 0923bcd736addd2bcdafe9ad9b6badc07a89f7e0..cf1d0f714d99cc5b32ed8371906f9befb5a56087 100644 (file)
@@ -9,34 +9,4 @@
  */
 extern itemkeyfun stringitem;
 
-/**
- * This callback function returns the hashcode of a key. The hashcode
- * is used for indexing into the backing vector for finding the an
- * item via its key. The same key must map consistently to the same
- * hashcode while the hashtable contains an item with that key.
- * Different keys map map to the same hashcode, in which case the
- * vector placement is made at the first empty or hole slot following
- * the hashcode index.
- */
-extern unsigned long stringitem_hashcode(itemkeyfun *this,void *key);
-
-/**
- * This callback function determines whether an item has a
- * given key or not.
- */
-extern int stringitem_haskey(itemkeyfun *this,void *item,void *key);
-
-/**
- * This callback function returns the key of an item by considering
- * the arity and schema.
- */
-extern void *stringitem_itemkey(itemkeyfun *this,void *item);
-
-/**
- * This callback function handles a key obtained from the itemkey
- * callback function to reclaim temporary allocation.
- */
-extern void stringitem_releasekey(itemkeyfun *this,void *key);
-
-
 #endif