diff --git a/common/file.c b/common/file.c index 8bd37cb8..3189e4c8 100644 --- a/common/file.c +++ b/common/file.c @@ -27,7 +27,10 @@ #include "parse.h" /*****************************************************************************/ -int +/* returns error + returns 0 if everything is ok + returns 1 if problem reading file */ +int APP_CC file_read_sections(int fd, struct list* names) { struct stream* s; @@ -37,7 +40,9 @@ file_read_sections(int fd, struct list* names) int in_it_index; int len; int index; + int rv; + rv = 0; g_file_seek(fd, 0); in_it_index = 0; in_it = 0; @@ -70,12 +75,16 @@ file_read_sections(int fd, struct list* names) } } } + else if (len < 0) + { + rv = 1; + } free_stream(s); - return 0; + return rv; } /*****************************************************************************/ -int +int APP_CC file_read_line(struct stream* s, char* text) { int i; @@ -120,7 +129,7 @@ file_read_line(struct stream* s, char* text) } /*****************************************************************************/ -int +int APP_CC file_split_name_value(char* text, char* name, char* value) { int len; @@ -158,7 +167,7 @@ file_split_name_value(char* text, char* name, char* value) } /*****************************************************************************/ -int +int APP_CC file_read_section(int fd, char* section, struct list* names, struct list* values) { @@ -193,7 +202,7 @@ file_read_section(int fd, char* section, struct list* names, } else if (c == ']') { - if (g_strcmp(section, text) == 0) + if (g_strncasecmp(section, text, 255) == 0) { file_read_line(s, text); while (file_read_line(s, text) == 0) diff --git a/common/os_calls.c b/common/os_calls.c index 90110963..ecdc2f33 100644 --- a/common/os_calls.c +++ b/common/os_calls.c @@ -420,6 +420,7 @@ g_memcmp(void* s1, void* s2, int len) } /*****************************************************************************/ +/* returns -1 on error, else return handle or file descriptor */ int g_file_open(char* file_name) { @@ -654,16 +655,16 @@ g_strdup(char* in) /*****************************************************************************/ int -g_strcmp(char* c1, char* c2) +g_strncmp(char* c1, char* c2, int len) { - return strcmp(c1, c2); + return strncmp(c1, c2, len); } /*****************************************************************************/ int -g_strncmp(char* c1, char* c2, int len) +g_strncasecmp(char* c1, char* c2, int len) { - return strncmp(c1, c2, len); + return strncasecmp(c1, c2, len); } /*****************************************************************************/ @@ -884,6 +885,17 @@ g_setenv(char* name, char* value, int rewrite) #endif } +/*****************************************************************************/ +char* +g_getenv(char* name) +{ +#if defined(_WIN32) + return 0; +#else + return getenv(name); +#endif +} + /*****************************************************************************/ int g_exit(int exit_code) diff --git a/common/os_calls.h b/common/os_calls.h index de369246..2fd0f6f0 100644 --- a/common/os_calls.h +++ b/common/os_calls.h @@ -112,10 +112,10 @@ g_strcat(char* dest, char* src); char* g_strdup(char* in); int -g_strcmp(char* c1, char* c2); -int g_strncmp(char* c1, char* c2, int len); int +g_strncasecmp(char* c1, char* c2, int len); +int g_atoi(char* str); int g_pos(char* str, char* to_find); @@ -154,6 +154,8 @@ void g_clearenv(void); int g_setenv(char* name, char* value, int rewrite); +char* +g_getenv(char* name); int g_exit(int exit_code); int