X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Futils.c;h=878fb61b4280b6648c4d54dd48dcf7b78194dad8;hb=6431aca05e3425df8ac4c2ed4e621d191f01425f;hp=11759704b5d306be78abe1b10dd935eb8ccabde5;hpb=9ec790e8b81566b934c056c56ece342ba0a32873;p=doldaconnect.git diff --git a/daemon/utils.c b/daemon/utils.c index 1175970..878fb61 100644 --- a/daemon/utils.c +++ b/daemon/utils.c @@ -768,12 +768,27 @@ 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); free(pair); } + +wchar_t *wpfind(struct wcspair *list, wchar_t *key) +{ + for(; list != NULL; list = list->next) + { + if(!wcscmp(list->key, key)) + return(list->val); + } + return(NULL); +}