X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Frx.c;h=975ed5246cd0267b498d9a76a189fee7b2cf878d;hp=6413f69c88fa81c9e4f962be07459986623a39ab;hb=d23094706c228c63c7c7ab8f337fb5dd886c4109;hpb=03fe827a7d4a7ad79ac235654414aa339a9a2c9a diff --git a/lib-lib/rx.c b/lib-lib/rx.c index 6413f69..975ed52 100644 --- a/lib-lib/rx.c +++ b/lib-lib/rx.c @@ -81,3 +81,27 @@ int rx_lookup (list2_t *l, const char *pat) return -1; } + +int rx_sanitize_string(char *dst, ssize_t n, const char *src) +{ + while (*src) { + if (n <= 1) + break; + + /* these characters must be escaped in regular expressions */ + if (strchr("^.[$()|*+?{\\", *src)) { + if (n <= 2) + break; + + *dst++ = '\\'; + n--; + } + + *dst++ = *src++; + n--; + } + + *dst = '\0'; + + return *src ? -1 : 0; +}