From f1354830c806b65e6ec6dfdc66dba451715608fc Mon Sep 17 00:00:00 2001 From: Dennis Schafroth Date: Mon, 11 Jul 2011 13:36:38 +0200 Subject: [PATCH 1/1] Escaping : --- src/rpn2solr.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/rpn2solr.c b/src/rpn2solr.c index 89b8b91..11abe87 100644 --- a/src/rpn2solr.c +++ b/src/rpn2solr.c @@ -245,6 +245,7 @@ static int rpn2solr_simple(solr_transform_t ct, { size_t i; int must_quote = 0; + for (i = 0 ; i < lterm; i++) if (sterm[i] == ' ') must_quote = 1; @@ -253,7 +254,13 @@ static int rpn2solr_simple(solr_transform_t ct, /* Bug 2878: Check and add Truncation */ if (checkForLeftTruncation(apt->attributes)) wrbuf_puts(w, "*"); - wrbuf_write(w, sterm, lterm); + /* BUG 4415: Escape : (as \:) in string terms */ + for (i = 0 ; i < lterm; i++) { + if (sterm[i] == ':') { + wrbuf_putc(w, '\\'); + } + wrbuf_putc(w, sterm[i]); + } /* Bug 2878: Check and add Truncation */ if (checkForRightTruncation(apt->attributes)) wrbuf_puts(w, "*"); -- 1.7.10.4