summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ini/ini_parse.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ini/ini_parse.c b/ini/ini_parse.c
index 193b522..32b4c02 100644
--- a/ini/ini_parse.c
+++ b/ini/ini_parse.c
@@ -1447,7 +1447,18 @@ int parser_run(struct parser_obj *po)
col_delete_item(item);
if (action == PARSE_DONE) {
+
TRACE_INFO_NUMBER("We are done", error);
+
+ /* Report merge error in detect mode
+ * if no other error was detected. */
+ if ((po->ret == 0) &&
+ (po->merge_error != 0) &&
+ ((po->collision_flags & INI_MV1S_DETECT) ||
+ (po->collision_flags & INI_MV2S_DETECT) ||
+ (po->collision_flags & INI_MS_DETECT)))
+ po->ret = po->merge_error;
+
error = po->ret;
break;
}