#include <klibc/string.h>
+#include <lunaix/compiler.h>
#define WS_CHAR(c) \
(c == ' ' || c == '\t' || c == '\n' || c == '\f' || c == '\v' || c == '\r')
-void
+void _weak
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--;
str[l + 1] = '\0';
}
-void*
+char* _weak
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