X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libatalk%2Facl%2Fldap_config.c;h=9bf01c1818f4c8f403865ffb6790dec8c248408f;hb=6821c9c1b67181b020f375bab7ac8061b0dcbec2;hp=bd9d414b85758ce8439863100e9752f33b0785af;hpb=e00467826a7ea8dd706d0728191b13894d25618d;p=netatalk.git diff --git a/libatalk/acl/ldap_config.c b/libatalk/acl/ldap_config.c index bd9d414b..9bf01c18 100644 --- a/libatalk/acl/ldap_config.c +++ b/libatalk/acl/ldap_config.c @@ -30,6 +30,17 @@ #include #include +void acl_ldap_freeconfig(void) +{ + for (int i = 0; ldap_prefs[i].name != NULL; i++) { + if (ldap_prefs[i].intfromarray == 0 && ldap_prefs[i].strorint == 0) { + free(*((char **)(ldap_prefs[i].pref))); + *((char **)(ldap_prefs[i].pref)) = NULL; + } + ldap_prefs[i].valid = ldap_prefs[i].valid_save; + } +} + int acl_ldap_readconfig(dictionary *iniconfig) { int i, j; @@ -38,7 +49,7 @@ int acl_ldap_readconfig(dictionary *iniconfig) i = 0; /* now see if its a correct pref */ for (i = 0; ldap_prefs[i].name != NULL; i++) { - if ((val = iniparser_getstring(iniconfig, INISEC_GLOBAL, ldap_prefs[i].name, NULL))) { + if ((val = atalk_iniparser_getstring(iniconfig, INISEC_GLOBAL, ldap_prefs[i].name, NULL))) { /* check if we have pre-defined values */ if (ldap_prefs[i].intfromarray == 0) { /* no, its just a string */