X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/c4d08ac5260bb26db10bcfd9dc6fd2db60efebe9..b60166b327a9108b07e3069fa6568a451529ffd9:/lunaix-os/libs/klibc/string/trim.c diff --git a/lunaix-os/libs/klibc/string/trim.c b/lunaix-os/libs/klibc/string/trim.c index 82f29bd..abd6508 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)) - ; - return strcpy(str, str + l); + while ((c = str[l]) && WS_CHAR(c)) { + l++; + } + + if (l) + strcpy(str, str + l); + return str; } \ No newline at end of file