Updated findfile.
[doldaconnect.git] / include / utils.h
index e4bd64b..a8b5a08 100644 (file)
@@ -101,7 +101,7 @@ char *base32encode(char *data, size_t datalen);
 char *base32decode(char *data, size_t *datalen);
 void _freeparr(void **arr);
 int _parrlen(void **arr);
-char *findfile(char *gname, char *uname, char *homedir, int filldef);
+char *findfile(char *name, char *homedir, int filldef);
 struct wcspair *newwcspair(wchar_t *key, wchar_t *val, struct wcspair **list);
 void freewcspair(struct wcspair *pair, struct wcspair **list);
 wchar_t *wpfind(struct wcspair *list, wchar_t *key);
@@ -134,6 +134,9 @@ do { \
     __new_cb__->data = dataa; \
     __new_cb__->prev = NULL; \
     __new_cb__->next = (obj)->name; \
+    if((obj)->name != NULL) { \
+        (obj)->name->prev = __new_cb__; \
+    } \
     (obj)->name = __new_cb__; \
 } while(0)
 
@@ -164,6 +167,9 @@ do { \
     __new_cb__->data = dataa; \
     __new_cb__->prev = NULL; \
     __new_cb__->next = name; \
+    if(name != NULL) { \
+        name->prev = __new_cb__; \
+    } \
     name = __new_cb__; \
 } while(0)