From 901ffbc7c0bf22adad0de9306f032232e48b3f5e Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Wed, 4 Jun 2014 14:41:36 -0400 Subject: [PATCH] improve function --- src/toxic_strings.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/toxic_strings.c b/src/toxic_strings.c index 554e2c6..b597ce4 100644 --- a/src/toxic_strings.c +++ b/src/toxic_strings.c @@ -120,11 +120,16 @@ void rm_trailing_spaces_buf(wchar_t *buf, size_t *pos, size_t *len) if (buf[*len - 1] != ' ') return; - if (*pos == *len) - --(*pos); + int i; - buf[--(*len)] = L'\0'; - rm_trailing_spaces_buf(buf, pos, len); + for (i = *len - 1; i >= 0; --i) { + if (buf[i] != ' ') + break; + } + + *len = i + 1; + *pos = MIN(*pos, i + 1); + buf[*len] = L'\0'; } #define HIST_PURGE MAX_LINE_HIST / 4