diff options
Diffstat (limited to 'sdk/other/strtrim.c')
-rw-r--r-- | sdk/other/strtrim.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/sdk/other/strtrim.c b/sdk/other/strtrim.c new file mode 100644 index 0000000..9afcfd5 --- /dev/null +++ b/sdk/other/strtrim.c @@ -0,0 +1,45 @@ +/* + * Portable string trimming routines. + * $Id$ + * Copyright (c) 1997 by Tycho Softworks. + * For conditions of distribution and reuse see product license. + */ + +#include <other/string.h> + +char *strtrim(char *str, const char *trim) +{ + return strltrim(strrtrim(str, trim), trim); +} + +char *strrtrim(char *str, const char *trim) +{ + char *end; + + if(!str) + return NULL; + + end = str + strlen(str); + + while(end-- > str) + { + if(!strchr(trim, *end)) + return str; + *end = 0; + } + return str; +} + +char *strltrim(char *str, const char *trim) +{ + if(!str) + return NULL; + + while(*str) + { + if(!strchr(trim, *str)) + return str; + ++str; + } + return str; +} |