summaryrefslogtreecommitdiffstats
path: root/ini/ini_parse_ut.c
diff options
context:
space:
mode:
Diffstat (limited to 'ini/ini_parse_ut.c')
-rw-r--r--ini/ini_parse_ut.c43
1 files changed, 24 insertions, 19 deletions
diff --git a/ini/ini_parse_ut.c b/ini/ini_parse_ut.c
index 963579b..f55b3c2 100644
--- a/ini/ini_parse_ut.c
+++ b/ini/ini_parse_ut.c
@@ -24,7 +24,6 @@
#include <errno.h>
#include <stdlib.h>
#include "ini_defines.h"
-#include "ini_config.h"
#include "ini_configobj.h"
#include "simplebuffer.h"
#include "path_utils.h"
@@ -45,10 +44,11 @@ typedef int (*test_fn)(void);
int test_one_file(const char *filename)
{
int error = EOK;
+ struct ini_cfgfile *file_ctx = NULL;
FILE *ff = NULL;
char new_file[100];
- struct configobj *ini_config = NULL;
- struct collection_item *error_list = NULL;
+ struct ini_cfgobj *ini_config = NULL;
+ char **error_list = NULL;
struct simplebuffer *sbobj = NULL;
uint32_t left = 0;
char filename_base[96];
@@ -57,33 +57,38 @@ int test_one_file(const char *filename)
/* Create config collection */
error = ini_config_create(&ini_config);
- if (error != EOK) {
+ if (error) {
printf("Failed to create collection. Error %d.\n", error);
return error;
}
- errno = 0;
- ff = fopen(filename,"r");
- if(!ff) {
- error = errno;
+ error = ini_config_file_open(filename,
+ INI_STOP_ON_NONE,
+ 0, /* TBD */
+ 0, /* TBD */
+ &file_ctx);
+ if (error) {
printf("Failed to open file for reading. Error %d.\n", error);
ini_config_destroy(ini_config);
return error;
}
- error = ini_config_parse(ff,
- filename,
- ini_config,
- INI_STOP_ON_NONE,
- &error_list,
- 80);
- fclose(ff);
- if (error != EOK) {
+ error = ini_config_parse(file_ctx,
+ ini_config);
+ if (error) {
INIOUT(printf("Failed to parse configuration. Error %d.\n", error));
- INIOUT(print_file_parsing_errors(stdout, error_list));
- col_destroy_collection(error_list);
+
+ if (ini_config_error_count(file_ctx)) {
+ INIOUT(printf("Errors detected while parsing: %s\n",
+ ini_config_get_filename(file_ctx)));
+ ini_config_get_errors(file_ctx, &error_list);
+ INIOUT(ini_print_errors(stdout, error_list));
+ }
+ /* We do not return here intentionally */
}
+ ini_config_file_close(file_ctx);
+
error = simplebuffer_alloc(&sbobj);
if (error) {
TRACE_ERROR_NUMBER("Failed to allocate dynamic string.", error);
@@ -93,7 +98,7 @@ int test_one_file(const char *filename)
error = ini_config_serialize(ini_config, sbobj);
if (error != EOK) {
- printf("Failed to parse configuration. Error %d.\n", error);
+ printf("Failed to serialize configuration. Error %d.\n", error);
ini_config_destroy(ini_config);
simplebuffer_free(sbobj);
return error;