summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitri Pal <dpal@redhat.com>2010-12-25 23:29:05 -0500
committerDmitri Pal <dpal@redhat.com>2011-01-03 15:00:42 -0500
commit2323da5507a13b5267152482a212442685cfcf05 (patch)
tree628815109a4758dbcdf44b8319efa7e944802bd5
parent6a66a986e962554b161ddb46f8b1e85a7c791e27 (diff)
downloadding-libs-2323da5507a13b5267152482a212442685cfcf05.tar.gz
ding-libs-2323da5507a13b5267152482a212442685cfcf05.tar.xz
ding-libs-2323da5507a13b5267152482a212442685cfcf05.zip
[INI] New merge flags
Adding "DETECT" merge modes. These modes would be useable for dry run cases to detect if there are any potential merge conflicts. Patch just defines new constans and adds input checks.
-rw-r--r--ini/ini_configobj.h6
-rw-r--r--ini/ini_fileobj.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/ini/ini_configobj.h b/ini/ini_configobj.h
index 36558a7..f0c6882 100644
--- a/ini/ini_configobj.h
+++ b/ini/ini_configobj.h
@@ -108,6 +108,8 @@
#define INI_MV1S_PRESERVE 0x0002
/** @brief Duplicates are allowed */
#define INI_MV1S_ALLOW 0x0003
+/** @brief Duplicates are allowed but errors are logged */
+#define INI_MV1S_DETECT 0x0004
/**
* @}
@@ -133,6 +135,8 @@
#define INI_MV2S_PRESERVE 0x0020
/** @brief Duplicates are allowed */
#define INI_MV2S_ALLOW 0x0030
+/** @brief Duplicates are allowed but errors are logged */
+#define INI_MV2S_DETECT 0x0040
/**
* @}
@@ -159,6 +163,8 @@
#define INI_MS_PRESERVE 0x0300
/** @brief Duplicates are allowed */
#define INI_MS_ALLOW 0x0400
+/** @brief Duplicates are allowed but errors are logged */
+#define INI_MS_DETECT 0x0500
/**
* @}
diff --git a/ini/ini_fileobj.c b/ini/ini_fileobj.c
index 94494f7..7bc599b 100644
--- a/ini/ini_fileobj.c
+++ b/ini/ini_fileobj.c
@@ -44,7 +44,8 @@ static int valid_collision_flags(uint32_t collision_flags)
if ((flag != INI_MV1S_OVERWRITE) &&
(flag != INI_MV1S_ERROR) &&
(flag != INI_MV1S_PRESERVE) &&
- (flag != INI_MV1S_ALLOW)) {
+ (flag != INI_MV1S_ALLOW) &&
+ (flag != INI_MV1S_DETECT)) {
TRACE_ERROR_STRING("Invalid value collision flag","");
return 0;
}
@@ -53,7 +54,8 @@ static int valid_collision_flags(uint32_t collision_flags)
if ((flag != INI_MV2S_OVERWRITE) &&
(flag != INI_MV2S_ERROR) &&
(flag != INI_MV2S_PRESERVE) &&
- (flag != INI_MV2S_ALLOW)) {
+ (flag != INI_MV2S_ALLOW) &&
+ (flag != INI_MV2S_DETECT)) {
TRACE_ERROR_STRING("Invalid value cross-section collision flag","");
return 0;
}
@@ -63,7 +65,8 @@ static int valid_collision_flags(uint32_t collision_flags)
(flag != INI_MS_OVERWRITE) &&
(flag != INI_MS_ERROR) &&
(flag != INI_MS_PRESERVE) &&
- (flag != INI_MS_ALLOW)) {
+ (flag != INI_MS_ALLOW) &&
+ (flag != INI_MS_DETECT)) {
TRACE_ERROR_STRING("Invalid section collision flag","");
return 0;
}