26 lines
741 B
Diff
26 lines
741 B
Diff
|
|
--- a/src/lib-settings/settings-parser.c Fri Mar 04 20:53:46 2011 +0200
|
|
+++ b/src/lib-settings/settings-parser.c Sat Mar 26 01:10:59 2011 +0200
|
|
@@ -693,8 +693,15 @@
|
|
if (!settings_find_key_nth(ctx, parent_key, &parent_n,
|
|
&parent_def, &parent_link))
|
|
return FALSE;
|
|
- if (parent_def->type != SET_STRLIST)
|
|
- return FALSE;
|
|
+ if (parent_def == NULL) {
|
|
+ /* we'll get here with e.g. "plugin/a/b=val".
|
|
+ not sure if we should ever do anything here.. */
|
|
+ if (strcmp(parent_link->full_key, parent_key) != 0)
|
|
+ return FALSE;
|
|
+ } else {
|
|
+ if (parent_def->type != SET_STRLIST)
|
|
+ return FALSE;
|
|
+ }
|
|
|
|
/* setting parent_key=0 adds it to links list */
|
|
if (settings_parse_keyvalue(ctx, parent_key, "0") <= 0)
|
|
|
|
|
|
|
|
|