X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Futils.c;h=11759704b5d306be78abe1b10dd935eb8ccabde5;hb=9ec790e8b81566b934c056c56ece342ba0a32873;hp=8e38459e004f9166aa5033297963e61852828bd1;hpb=ea31fffb5f411a7ce1310935b001224f9805a373;p=doldaconnect.git diff --git a/daemon/utils.c b/daemon/utils.c index 8e38459..1175970 100644 --- a/daemon/utils.c +++ b/daemon/utils.c @@ -745,3 +745,35 @@ char *findfile(char *gname, char *uname, char *homedir) } return(NULL); } + +struct wcspair *newwcspair(wchar_t *key, wchar_t *val, struct wcspair **list) +{ + struct wcspair *pair; + + pair = smalloc(sizeof(*pair)); + memset(pair, 0, sizeof(*pair)); + if(key != NULL) + pair->key = swcsdup(key); + if(val != NULL) + pair->val = swcsdup(val); + if(list == NULL) + { + pair->next = NULL; + } else { + pair->next = *list; + *list = pair; + } + return(pair); +} + +void freewcspair(struct wcspair *pair, struct wcspair **list) +{ + if(list != NULL) + { + if(*list == pair) + *list = pair->next; + } + free(pair->key); + free(pair->val); + free(pair); +}