default 3 лет назад
Родитель
Сommit
061291cabf
2 измененных файлов с 14 добавлено и 6 удалено
  1. 13 5
      xs.h
  2. 1 1
      xs_version.h

+ 13 - 5
xs.h

@@ -459,13 +459,21 @@ d_char *xs_crop(d_char *str, int start, int end)
 d_char *xs_strip_chars(d_char *str, const char *chars)
 /* strips the string of chars from the start and the end */
 {
-    int s, e;
+    int n;
+
+    /* strip first from the end */
+    for (n = strlen(str); n > 0 && strchr(chars, str[n - 1]); n--);
+    str[n] = '\0';
 
-    for (s = 0; strchr(chars, str[s]); s++);
-    for (e = strlen(str); e > 0 && strchr(chars, str[e - 1]); e--);
+    if (str[0]) {
+        /* now strip from the beginning */
+        for (n = 0; str[n] && strchr(chars, str[n]); n++);
 
-    str[e] = '\0';
-    return xs_collapse(str, 0, s);
+        if (n)
+            str = xs_collapse(str, 0, n);
+    }
+
+    return str;
 }
 
 

+ 1 - 1
xs_version.h

@@ -1 +1 @@
-/* 52f1885c0439e886094a9506e6b06f3d657fe8d9 */
+/* e8f087f6b185939256227ea21b69f5f16f25a2dd */