Mercurial > dovecot > original-hg > dovecot-1.2
diff src/plugins/fts-solr/fts-backend-solr.c @ 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 | b9faf4db2a9f |
children | e81dfb69bfc5 |
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; } }