diff options
Diffstat (limited to 'debian/patches/ihash-as-cache0001-libihash-fix-ill-devised-locp-lookup-interface.patch')
-rw-r--r-- | debian/patches/ihash-as-cache0001-libihash-fix-ill-devised-locp-lookup-interface.patch | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/debian/patches/ihash-as-cache0001-libihash-fix-ill-devised-locp-lookup-interface.patch b/debian/patches/ihash-as-cache0001-libihash-fix-ill-devised-locp-lookup-interface.patch deleted file mode 100644 index bd7498c1..00000000 --- a/debian/patches/ihash-as-cache0001-libihash-fix-ill-devised-locp-lookup-interface.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 5aa7e263521b934c2e23e7fb795fd9163999219a Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sat, 21 Nov 2015 16:12:53 +0100 -Subject: [PATCH hurd 1/4] libihash: fix ill-devised locp lookup interface - -* libihash/ihash.c (hurd_ihash_locp_find): Return both the item and the slot. -* libihash/ihash.h (hurd_ihash_locp_find): Adjust prototype. -(hurd_ihash_locp_value): Remove function. ---- - libihash/ihash.c | 19 +++++++++---------- - libihash/ihash.h | 31 ++++++------------------------- - 2 files changed, 15 insertions(+), 35 deletions(-) - -diff --git a/libihash/ihash.c b/libihash/ihash.c -index 87d7abf..8b1ad1f 100644 ---- a/libihash/ihash.c -+++ b/libihash/ihash.c -@@ -370,13 +370,9 @@ hurd_ihash_find (hurd_ihash_t ht, hurd_ihash_key_t key) - } - } - --/* Find the item in the hash table HT with key KEY. If it is found, -- return the location of its slot in the hash table. If it is not -- found, this function may still return a location. -- -- This location pointer can always be safely accessed using -- hurd_ihash_locp_value. If the lookup is successful, -- hurd_ihash_locp_value will return the value related to KEY. -+/* Find and return the item in the hash table HT with key KEY, or NULL -+ if it doesn't exist. If it is not found, this function may still -+ return a location in SLOT. - - If the lookup is successful, the returned location can be used with - hurd_ihash_locp_add to update the item, and with -@@ -387,8 +383,10 @@ hurd_ihash_find (hurd_ihash_t ht, hurd_ihash_key_t key) - - Note that returned location is only valid until the next insertion - or deletion. */ --hurd_ihash_locp_t --hurd_ihash_locp_find (hurd_ihash_t ht, hurd_ihash_key_t key) -+hurd_ihash_value_t -+hurd_ihash_locp_find (hurd_ihash_t ht, -+ hurd_ihash_key_t key, -+ hurd_ihash_locp_t *slot) - { - int idx; - -@@ -396,7 +394,8 @@ hurd_ihash_locp_find (hurd_ihash_t ht, hurd_ihash_key_t key) - return NULL; - - idx = find_index (ht, key); -- return &ht->items[idx].value; -+ *slot = &ht->items[idx].value; -+ return index_valid (ht, idx, key) ? ht->items[idx].value : NULL; - } - - -diff --git a/libihash/ihash.h b/libihash/ihash.h -index 1dbc348..fdfc367 100644 ---- a/libihash/ihash.h -+++ b/libihash/ihash.h -@@ -218,13 +218,9 @@ error_t hurd_ihash_locp_add (hurd_ihash_t ht, hurd_ihash_locp_t locp, - if it doesn't exist. */ - hurd_ihash_value_t hurd_ihash_find (hurd_ihash_t ht, hurd_ihash_key_t key); - --/* Find the item in the hash table HT with key KEY. If it is found, -- return the location of its slot in the hash table. If it is not -- found, this function may still return a location. -- -- This location pointer can always be safely accessed using -- hurd_ihash_locp_value. If the lookup is successful, -- hurd_ihash_locp_value will return the value related to KEY. -+/* Find and return the item in the hash table HT with key KEY, or NULL -+ if it doesn't exist. If it is not found, this function may still -+ return a location in SLOT. - - If the lookup is successful, the returned location can be used with - hurd_ihash_locp_add to update the item, and with -@@ -235,24 +231,9 @@ hurd_ihash_value_t hurd_ihash_find (hurd_ihash_t ht, hurd_ihash_key_t key); - - Note that returned location is only valid until the next insertion - or deletion. */ --hurd_ihash_locp_t hurd_ihash_locp_find (hurd_ihash_t ht, -- hurd_ihash_key_t key); -- --/* Given an hash table bucket location LOCP, return the value stored -- there, or NULL if it is empty or LOCP is NULL. */ --static inline void * --hurd_ihash_locp_value (hurd_ihash_locp_t locp) --{ -- struct _hurd_ihash_item *item = (struct _hurd_ihash_item *) locp; -- -- if (item == NULL) -- return NULL; -- -- if (hurd_ihash_value_valid (item->value)) -- return item->value; -- -- return NULL; --} -+hurd_ihash_value_t hurd_ihash_locp_find (hurd_ihash_t ht, -+ hurd_ihash_key_t key, -+ hurd_ihash_locp_t *slot); - - /* Iterate over all elements in the hash table. You use this macro - with a block, for example like this: --- -2.1.4 - |