X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=util%2Fstring-util.h;h=e409cb3d2ab154664a24873cfe50e3ac34a23513;hp=0194607ee52877b9c1adcfc96933d84aab9658f1;hb=4e2c351c588ad74f4800ca0344232be90387c54a;hpb=7c3a995d6b6e066aa68b0adf0433f45cb3812c2a diff --git a/util/string-util.h b/util/string-util.h index 0194607e..e409cb3d 100644 --- a/util/string-util.h +++ b/util/string-util.h @@ -3,6 +3,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* like strtok(3), but without state, and doesn't modify s. Return * value is indicated by pointer and length, not null terminator. * @@ -19,6 +23,16 @@ char *strtok_len (char *s, const char *delim, size_t *len); +/* Const version of strtok_len. */ +const char *strtok_len_c (const char *s, const char *delim, size_t *len); + +/* Return a talloced string with str sanitized. + * + * Whitespace characters (tabs and newlines) are replaced with spaces, + * non-printable characters with question marks. + */ +char *sanitize_string (const void *ctx, const char *str); + /* Construct a boolean term query with the specified prefix (e.g., * "id") and search term, quoting term as necessary. Specifically, if * term contains any non-printable ASCII characters, non-ASCII @@ -50,4 +64,8 @@ int parse_boolean_term (void *ctx, const char *str, char **prefix_out, char **term_out); +#ifdef __cplusplus +} +#endif + #endif