|
|
@@ -324,17 +324,6 @@ static qi_linkedlist_t *qi_linkedlist_push(qi_linkedlist_t *prev, uint64_t i)
|
|
|
return ll;
|
|
|
}
|
|
|
|
|
|
-static void qi_linkedlist_delete(qi_linkedlist_t *ll)
|
|
|
-{
|
|
|
- if (ll->prev)
|
|
|
- ll->prev->next = ll->next;
|
|
|
-
|
|
|
- if (ll->next)
|
|
|
- ll->next->prev = ll->prev;
|
|
|
-
|
|
|
- qi_free(ll);
|
|
|
-}
|
|
|
-
|
|
|
static void qi_linkedlist_destroy(qi_linkedlist_t *ll)
|
|
|
{
|
|
|
qi_linkedlist_t *lln = ll;
|
|
|
@@ -657,7 +646,18 @@ qi_bool qi_table_delete(qi_table_t *table, char *key)
|
|
|
table->entries[i].value = NULL;
|
|
|
table->entries[i].is_deleted = true;
|
|
|
|
|
|
- qi_linkedlist_delete(table->entries[i].lln);
|
|
|
+ qi_linkedlist_t *lln = table->entries[i].lln;
|
|
|
+ if (lln->prev)
|
|
|
+ lln->prev->next = lln->next;
|
|
|
+ else
|
|
|
+ table->llh = lln->next;
|
|
|
+
|
|
|
+ if (lln->next)
|
|
|
+ lln->next->prev = lln->prev;
|
|
|
+ else
|
|
|
+ table->llc = lln->prev;
|
|
|
+
|
|
|
+ qi_free(lln);
|
|
|
|
|
|
table->entries[i].lln = NULL;
|
|
|
|