diff options
Diffstat (limited to 'util/string-util.c')
-rw-r--r-- | util/string-util.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/util/string-util.c b/util/string-util.c index a5622d7a..9e2f728f 100644 --- a/util/string-util.c +++ b/util/string-util.c @@ -37,6 +37,28 @@ strtok_len (char *s, const char *delim, size_t *len) return *len ? s : NULL; } +char * +sanitize_string (const void *ctx, const char *str) +{ + char *out, *loop; + + if (! str) + return NULL; + + out = talloc_strdup (ctx, str); + if (! out) + return NULL; + + for (loop = out; *loop; loop++) { + if (*loop == '\t' || *loop == '\n') + *loop = ' '; + else if ((unsigned char)(*loop) < 32) + *loop = '?'; + } + + return out; +} + static int is_unquoted_terminator (unsigned char c) { |