diff options
Diffstat (limited to 'src/stringutils.c')
-rw-r--r-- | src/stringutils.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/stringutils.c b/src/stringutils.c new file mode 100644 index 0000000..172d40d --- /dev/null +++ b/src/stringutils.c @@ -0,0 +1,47 @@ +#include "stringutils.h" +#include <string.h> + +void string_replace(char *str, char old_char, char new_char) { + for(;;) { + char c = *str; + if(c == old_char) + *str = new_char; + else if(c == '\0') + break; + ++str; + } +} + +char* lstrip(char *str) { + for(;;) { + char c = *str; + if(c != ' ' && c != '\t' && c != '\n') + break; + else if(c == '\0') + break; + ++str; + } + return str; +} + +void rstrip(char *str) { + int len = strlen(str); + if(len == 0) + return; + + char *p = str + len - 1; + while(p != str) { + char c = *p; + if(c != ' ' && c != '\t' && c != '\n') + break; + --p; + } + + p[1] = '\0'; +} + +char* strip(char *str) { + str = lstrip(str); + rstrip(str); + return str; +}
\ No newline at end of file |