X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/c4d08ac5260bb26db10bcfd9dc6fd2db60efebe9..1375eb51603466b723ab7dd1ca4194ee5d662f75:/lunaix-os/libs/klibc/string/trim.c?ds=sidebyside diff --git a/lunaix-os/libs/klibc/string/trim.c b/lunaix-os/libs/klibc/string/trim.c index 82f29bd..c15e159 100644 --- a/lunaix-os/libs/klibc/string/trim.c +++ b/lunaix-os/libs/klibc/string/trim.c @@ -6,8 +6,8 @@ void strrtrim(char* str) { - size_t l = strlen(str); - while (l < (size_t)-1) { + unsigned long l = strlen(str); + while (l < (unsigned long)-1) { char c = str[l]; if (!c || WS_CHAR(c)) { l--; @@ -18,12 +18,16 @@ strrtrim(char* str) str[l + 1] = '\0'; } -void* +char* strltrim_safe(char* str) { - size_t l = 0; + unsigned long l = 0; char c = 0; - while ((c = str[l++]) && WS_CHAR(c)) - ; + while ((c = str[l]) && WS_CHAR(c)) { + l++; + } + + if (!l) + return str; return strcpy(str, str + l); } \ No newline at end of file