Fix error handling in gb_ini
- Report GB_INI_ERROR_FILE_ERROR when file cannot be read - Report error from handler
This commit is contained in:
parent
f1994008a3
commit
ddf7c37ec7
4
gb_ini.h
4
gb_ini.h
|
@ -357,7 +357,7 @@ gb__string_copy(char* dst, const char* src, size_t size)
|
||||||
struct gb_Ini_Error
|
struct gb_Ini_Error
|
||||||
gb_ini_parse(const char* filename, gb_Ini_Handler* handler_func, void* data)
|
gb_ini_parse(const char* filename, gb_Ini_Handler* handler_func, void* data)
|
||||||
{
|
{
|
||||||
struct gb_Ini_Error err = {GB_INI_ERROR_NONE, 0};
|
struct gb_Ini_Error err = {GB_INI_ERROR_FILE_ERROR, 0};
|
||||||
|
|
||||||
FILE* file = fopen(filename, "r");
|
FILE* file = fopen(filename, "r");
|
||||||
if (!file)
|
if (!file)
|
||||||
|
@ -436,7 +436,7 @@ gb_ini_parse_file(FILE* file, gb_Ini_Handler* handler_func, void* data)
|
||||||
gb__right_whitespace_strip(value);
|
gb__right_whitespace_strip(value);
|
||||||
|
|
||||||
gb__string_copy(prev_name, name, sizeof(prev_name));
|
gb__string_copy(prev_name, name, sizeof(prev_name));
|
||||||
if (!handler_func(data, section, name, value) && err.type)
|
if (!handler_func(data, section, name, value) && !err.type)
|
||||||
{
|
{
|
||||||
err.type = GB_INI_ERROR_HANDLER_ERROR;
|
err.type = GB_INI_ERROR_HANDLER_ERROR;
|
||||||
err.line_num = line_num;
|
err.line_num = line_num;
|
||||||
|
|
Loading…
Reference in New Issue