1
0
mirror of https://github.com/irssi/irssi.git synced 2025-02-02 15:08:01 -05:00

strsplit_len: make it look more like the original version

This commit is contained in:
dequis 2015-11-09 06:46:40 -03:00
parent 8736c12fc9
commit b054ade4b9

View File

@ -995,10 +995,10 @@ char **strsplit_len(const char *str, int len, gboolean onspace)
{ {
char **ret = g_new(char *, 1); char **ret = g_new(char *, 1);
int n; int n;
int split_offset = 0; int offset;
for (n = 0; *str != '\0'; n++) { for (n = 0; *str != '\0'; n++, str += offset) {
split_offset = MIN(len, strlen(str)); offset = MIN(len, strlen(str));
if (onspace && strlen(str) > len) { if (onspace && strlen(str) > len) {
/* /*
* Try to find a space to split on and leave * Try to find a space to split on and leave
@ -1007,15 +1007,13 @@ char **strsplit_len(const char *str, int len, gboolean onspace)
int i; int i;
for (i = len - 1; i > 0; i--) { for (i = len - 1; i > 0; i--) {
if (str[i] == ' ') { if (str[i] == ' ') {
split_offset = i; offset = i;
break; break;
} }
} }
} }
ret[n] = g_strndup(str, split_offset); ret[n] = g_strndup(str, offset);
ret = g_renew(char *, ret, n + 2); ret = g_renew(char *, ret, n + 2);
str += split_offset;
} }
ret[n] = NULL; ret[n] = NULL;