summaryrefslogtreecommitdiffstats
path: root/ini
diff options
context:
space:
mode:
authorDmitri Pal <dpal@redhat.com>2009-04-10 13:39:06 -0400
committerSimo Sorce <ssorce@redhat.com>2009-04-10 17:01:54 -0400
commitc57cb8cfff2edf4bfb0437d00d505d5dcf27faa6 (patch)
tree69bf47fe9198847e7474bb410eabeefe52f30bba /ini
parent15221b649ccff0a7b70592b604c8bdef905afd76 (diff)
downloadding-libs-c57cb8cfff2edf4bfb0437d00d505d5dcf27faa6.tar.gz
ding-libs-c57cb8cfff2edf4bfb0437d00d505d5dcf27faa6.tar.xz
ding-libs-c57cb8cfff2edf4bfb0437d00d505d5dcf27faa6.zip
The lower level function now returns NOENT if file is not found.
Diffstat (limited to 'ini')
-rw-r--r--ini/ini_config.c8
-rw-r--r--ini/ini_config_ut.c6
2 files changed, 11 insertions, 3 deletions
diff --git a/ini/ini_config.c b/ini/ini_config.c
index 8d19b27..4112049 100644
--- a/ini/ini_config.c
+++ b/ini/ini_config.c
@@ -145,7 +145,7 @@ static int ini_to_collection(const char *filename,
if (file == NULL) {
error = errno;
TRACE_ERROR_NUMBER("Failed to open file - but this is OK", error);
- return EOK;
+ return ENOENT;
}
/* Open the collection of errors */
@@ -416,7 +416,8 @@ int config_for_app(const char *application,
TRACE_INFO_STRING("Reading master file:", config_file);
error = ini_to_collection(config_file, *ini_config,
error_level, pass_common);
- if (error != EOK) {
+ /* ENOENT and EOK are Ok */
+ if (error && (error != ENOENT)) {
TRACE_ERROR_NUMBER("Failed to read master file", error);
/* In case of error when we created collection - delete it */
if(error && created) {
@@ -468,7 +469,8 @@ int config_for_app(const char *application,
error = ini_to_collection(file_name, *ini_config,
error_level, pass_specific);
free(file_name);
- if (error) {
+ /* ENOENT and EOK are Ok */
+ if (error && (error != ENOENT)) {
TRACE_ERROR_NUMBER("Failed to read specific application file", error);
/* In case of error when we created collection - delete it */
if (error && created) {
diff --git a/ini/ini_config_ut.c b/ini/ini_config_ut.c
index 28560e5..6787c36 100644
--- a/ini/ini_config_ut.c
+++ b/ini/ini_config_ut.c
@@ -61,6 +61,12 @@ int single_file()
struct collection_item *ini_config = (struct collection_item *)(NULL);
struct collection_item *error_set = (struct collection_item *)(NULL);
+ error = config_from_file("test", "./ini/not_exist_ini.conf", &ini_config,INI_STOP_ON_NONE,&error_set);
+ if(error) {
+ printf("Attempt to read configuration returned error: %d. EXPECTED.\n\n",error);
+ if(error != ENOENT) return error;
+ }
+
error = config_from_file("test", "./ini/ini.conf", &ini_config,INI_STOP_ON_NONE,&error_set);
if(error) {
printf("Attempt to read configuration returned error: %d\n",error);