summaryrefslogtreecommitdiffstats
path: root/common/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/file.c')
-rw-r--r--common/file.c21
1 files changed, 15 insertions, 6 deletions
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)