File: idu_hash.patch

package info (click to toggle)
id-utils 4.6.28-20200521ss15dab
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, trixie
  • size: 13,176 kB
  • sloc: ansic: 90,321; sh: 10,115; perl: 558; makefile: 209; lisp: 29; sed: 16
file content (74 lines) | stat: -rw-r--r-- 2,645 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Index: id-utils-4.6.28/libidu/idu-hash.c
===================================================================
--- id-utils-4.6.28.orig/libidu/idu-hash.c
+++ id-utils-4.6.28/libidu/idu-hash.c
@@ -60,6 +60,15 @@ hash_init (struct hash_table* ht, unsign
   ht->ht_compare = hash_cmp;
 }
 
+static void *
+hash_insert (struct hash_table* ht, void *item)
+{
+  void **slot = hash_find_slot (ht, item);
+  void *old_item = slot ? *slot : 0;
+  hash_insert_at (ht, item, slot);
+  return ((HASH_VACANT (old_item)) ? 0 : old_item);
+}
+
 /* Load an array of items into `ht'.  */
 
 void
@@ -121,15 +130,6 @@ hash_find_item (struct hash_table* ht, v
 }
 
 void *
-hash_insert (struct hash_table* ht, void *item)
-{
-  void **slot = hash_find_slot (ht, item);
-  void *old_item = slot ? *slot : 0;
-  hash_insert_at (ht, item, slot);
-  return ((HASH_VACANT (old_item)) ? 0 : old_item);
-}
-
-void *
 hash_insert_at (struct hash_table* ht, void *item, void const *slot)
 {
   void *old_item = *(void **) slot;
@@ -171,6 +171,7 @@ hash_delete_at (struct hash_table* ht, v
     return 0;
 }
 
+#if 0 // unused
 void
 hash_free_items (struct hash_table* ht)
 {
@@ -215,6 +216,7 @@ hash_free (struct hash_table* ht, int fr
   ht->ht_vec = 0;
   ht->ht_capacity = 0;
 }
+#endif
 
 void
 hash_map (struct hash_table *ht, hash_map_func_t map)
Index: id-utils-4.6.28/libidu/idu-hash.h
===================================================================
--- id-utils-4.6.28.orig/libidu/idu-hash.h
+++ id-utils-4.6.28/libidu/idu-hash.h
@@ -49,14 +49,13 @@ extern void hash_load (struct hash_table
 		       unsigned long cardinality, unsigned long size);
 extern void **hash_find_slot (struct hash_table *ht, void const *key);
 extern void *hash_find_item (struct hash_table *ht, void const *key);
-extern void *hash_insert (struct hash_table *ht, void *item);
 extern void *hash_insert_at (struct hash_table *ht, void *item,
 			     void const *slot);
 extern void *hash_delete (struct hash_table *ht, void const *item);
 extern void *hash_delete_at (struct hash_table *ht, void const *slot);
-extern void hash_delete_items (struct hash_table *ht);
-extern void hash_free_items (struct hash_table *ht);
-extern void hash_free (struct hash_table *ht, int free_items);
+//extern void hash_delete_items (struct hash_table *ht);
+//extern void hash_free_items (struct hash_table *ht);
+//extern void hash_free (struct hash_table *ht, int free_items);
 extern void hash_map (struct hash_table *ht, hash_map_func_t map);
 extern void hash_print_stats (struct hash_table const *ht, FILE *out_FILE);
 extern void **hash_dump (struct hash_table const *ht, void **vector_0,