Improve freewcspair.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sun, 13 Nov 2005 01:35:14 +0000 (01:35 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sun, 13 Nov 2005 01:35:14 +0000 (01:35 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@516 959494ce-11ee-0310-bf91-de5d638817bd

daemon/utils.c

index 8f66370..878fb61 100644 (file)
@@ -768,10 +768,15 @@ struct wcspair *newwcspair(wchar_t *key, wchar_t *val, struct wcspair **list)
 
 void freewcspair(struct wcspair *pair, struct wcspair **list)
 {
-    if(list != NULL)
+    struct wcspair *cur;
+    
+    for(cur = *list; cur != NULL; list = &(cur->next), cur = cur->next)
     {
-       if(*list == pair)
-           *list = pair->next;
+       if(cur == pair)
+       {
+           *list = cur->next;
+           break;
+       }
     }
     free(pair->key);
     free(pair->val);