]> git.notmuchmail.org Git - notmuch/blobdiff - util/string-util.c
util: make sanitize string available in string util for reuse
[notmuch] / util / string-util.c
index a5622d7a209dfee96b90e5e3dbd698cc455ad6df..9e2f728fc6750c586f3effed3ecac5673ea980e0 100644 (file)
@@ -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)
 {