Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8848:dd441977c578 HEAD
fts-solr: Solr breaks when it sees control characters, so replace them with spaces.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 23 Mar 2009 16:33:11 -0400 |
parents | 43a49b3d3b5e |
children | c01259945820 |
files | src/plugins/fts-solr/fts-backend-solr.c |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts-solr/fts-backend-solr.c Mon Mar 23 12:51:30 2009 -0400 +++ b/src/plugins/fts-solr/fts-backend-solr.c Mon Mar 23 16:33:11 2009 -0400 @@ -64,8 +64,20 @@ case '>': str_append(dest, ">"); break; + case '\t': + case '\n': + case '\r': + /* exceptions to the following control char check */ + str_append_c(dest, data[i]); + break; default: - str_append_c(dest, data[i]); + if (data[i] < 32) { + /* SOLR doesn't like control characters. + replace them with spaces. */ + str_append_c(dest, ' '); + } else { + str_append_c(dest, data[i]); + } break; } }