diff options
Diffstat (limited to 'ini')
-rw-r--r-- | ini/ini_configobj.h | 6 | ||||
-rw-r--r-- | ini/ini_fileobj.c | 9 |
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; } |