summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitri Pal <dpal@redhat.com>2010-12-26 00:10:23 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-04-05 11:20:08 -0700
commitd34f8dd6d9d6888da3e1535233196d41aa403d72 (patch)
tree825251e94681710706fbad858b6cd5d4e20b23bc
parent21ebb86b27e2052f8388f38b92eea552a7919619 (diff)
downloadding-libs-d34f8dd6d9d6888da3e1535233196d41aa403d72.tar.gz
ding-libs-d34f8dd6d9d6888da3e1535233196d41aa403d72.tar.xz
ding-libs-d34f8dd6d9d6888da3e1535233196d41aa403d72.zip
Return error in DETECT mode
If in merge DETECT mode and there were no parsing errors return error if there were merge collisions.
-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;
}