diff --git a/src/misc.c b/src/misc.c index c08d49d..98f9dd3 100644 --- a/src/misc.c +++ b/src/misc.c @@ -114,30 +114,20 @@ char *split(char *row, int ch, char *s, int size){ char *r; - int len; - if(row == NULL) + if(row == NULL || s == NULL) return NULL; r = strchr(row, ch); - if(r == NULL){ - len = strlen(row); - if(len > size) - len = size; - } - else { - len = strlen(row) - strlen(r); - if(len > size) - len = size; + if(r) *r = '\0'; + snprintf(s, size, "%s", row); + + if(r){ + *r = ch; r++; } - if(s != NULL){ - strncpy(s, row, len); - s[len] = '\0'; - } - return r; }