diff options
Diffstat (limited to 'src/common/util.c')
-rw-r--r-- | src/common/util.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/common/util.c b/src/common/util.c index 6dd06c7ce6..dde5c7c914 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -200,6 +200,21 @@ char *tor_strndup(const char *s, size_t n) { return dup; } +/** Remove from the string <b>s</b> every character which appears in + * <b>strip</b>. Return the number of characters removed. */ +int tor_strstrip(char *s, const char *strip) +{ + char *read = s; + while (*read) { + if (strchr(strip, *read)) { + ++read; + } else { + *s++ = *read++; + } + } + *s = '\0'; + return read-s; +} #ifndef UNALIGNED_INT_ACCESS_OK /** |