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;
+}