summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}