aboutsummaryrefslogtreecommitdiffstats
path: root/src/conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf.c')
-rw-r--r--src/conf.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/conf.c b/src/conf.c
index 5aefa016f..f130334ba 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -41,6 +41,7 @@
#define CONF_REPEATABLE_MASK 0x01
#define CONF_BLOCK_MASK 0x02
+#define CONF_LINE_TOKEN_MAX 3
typedef struct _configEntry {
unsigned char mask;
@@ -193,15 +194,16 @@ static ConfigParam *readConfigBlock(FILE * fp, int *count, char *string)
{
ConfigParam *ret = newConfigParam(NULL, *count);
- char **array;
int i;
int numberOfArgs;
int argsMinusComment;
while (myFgets(string, MAX_STRING_SIZE, fp)) {
+ char *array[CONF_LINE_TOKEN_MAX] = { 0 };
+
(*count)++;
- numberOfArgs = buffer2array(string, &array);
+ numberOfArgs = cstrtok(string, array, CONF_LINE_TOKEN_MAX);
for (i = 0; i < numberOfArgs; i++) {
if (array[i][0] == CONF_COMMENT)
@@ -211,13 +213,11 @@ static ConfigParam *readConfigBlock(FILE * fp, int *count, char *string)
argsMinusComment = i;
if (0 == argsMinusComment) {
- freeArgArray(array, numberOfArgs);
continue;
}
if (1 == argsMinusComment &&
0 == strcmp(array[0], CONF_BLOCK_END)) {
- freeArgArray(array, numberOfArgs);
break;
}
@@ -238,8 +238,6 @@ static ConfigParam *readConfigBlock(FILE * fp, int *count, char *string)
}
addBlockParam(ret, array[0], array[1], *count);
-
- freeArgArray(array, numberOfArgs);
}
return ret;
@@ -249,7 +247,6 @@ void readConf(char *file)
{
FILE *fp;
char string[MAX_STRING_SIZE + 1];
- char **array;
int i;
int numberOfArgs;
int argsMinusComment;
@@ -265,9 +262,10 @@ void readConf(char *file)
}
while (myFgets(string, MAX_STRING_SIZE, fp)) {
+ char *array[CONF_LINE_TOKEN_MAX] = { 0 };
count++;
- numberOfArgs = buffer2array(string, &array);
+ numberOfArgs = cstrtok(string, array, CONF_LINE_TOKEN_MAX);
for (i = 0; i < numberOfArgs; i++) {
if (array[i][0] == CONF_COMMENT)
@@ -277,7 +275,6 @@ void readConf(char *file)
argsMinusComment = i;
if (0 == argsMinusComment) {
- freeArgArray(array, numberOfArgs);
continue;
}
@@ -316,8 +313,6 @@ void readConf(char *file)
param = newConfigParam(array[1], count);
insertInListWithoutKey(entry->configParamList, param);
-
- freeArgArray(array, numberOfArgs);
}
fclose(fp);
}