summaryrefslogtreecommitdiffstats
path: root/cfgparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'cfgparser.c')
-rw-r--r--cfgparser.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/cfgparser.c b/cfgparser.c
index 30837e209a..89b54e6aa8 100644
--- a/cfgparser.c
+++ b/cfgparser.c
@@ -612,7 +612,7 @@ static int config_read_option(m_config_t *config,config_t** conf_list, char *opt
last_ptr = ptr;
ptr = strchr(ptr,LIST_SEPARATOR);
if(!ptr) {
- if(strlen(last_ptr) > 0)
+// if(strlen(last_ptr) > 0)
n++;
break;
}
@@ -630,11 +630,13 @@ static int config_read_option(m_config_t *config,config_t** conf_list, char *opt
res = malloc((n+1)*sizeof(char*));
ptr = param;
n = 0;
- while(ptr[0] != '\0') {
+// while(ptr[0] != '\0') {
+ while(1) {
last_ptr = ptr;
ptr = strchr(ptr,LIST_SEPARATOR);
if(!ptr) {
- if(strlen(last_ptr) > 0) {
+ //if(strlen(last_ptr) > 0)
+ {
res[n] = strdup(last_ptr);
n++;
}
@@ -642,7 +644,7 @@ static int config_read_option(m_config_t *config,config_t** conf_list, char *opt
}
len = ptr - last_ptr;
res[n] = (char*)malloc(len + 1);
- strncpy(res[n],last_ptr,len);
+ if(len) strncpy(res[n],last_ptr,len);
res[n][len] = '\0';
ptr++;
n++;