Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5406:82d6f9673c05 HEAD
Fixes
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 25 Mar 2007 21:18:15 +0300 |
parents | 22d04968449a |
children | d3a89872744e |
files | src/plugins/fts-lucene/lucene-wrapper.cc |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts-lucene/lucene-wrapper.cc Sun Mar 25 20:00:04 2007 +0300 +++ b/src/plugins/fts-lucene/lucene-wrapper.cc Sun Mar 25 21:18:15 2007 +0300 @@ -416,7 +416,8 @@ len = uni_utf8_strlen_n(data, size); wchar_t dest[len+1]; - lucene_utf8towcs(dest, (const char *)data, len + 1); + lucene_utf8towcs(dest, (const char *)data, len); + dest[len] = 0; if (uid != index->prev_uid) { char id[MAX_INT_STRLEN]; @@ -531,16 +532,18 @@ _CLDELETE(hits); } catch (CLuceneError &err) { lucene_handle_error(index, err, "expunge search"); - return -1; + ret = -1; } try { index->reader->close(); - return 0; } catch (CLuceneError &err) { lucene_handle_error(index, err, "IndexReader::close()"); - return -1; + ret = -1; } + + lucene_index_close(index); + return ret; } int lucene_index_lookup(struct lucene_index *index, enum fts_lookup_flags flags, @@ -560,7 +563,8 @@ t_strdup_printf("\"%s\"", key); unsigned int len = uni_utf8_strlen_n(quoted_key, (size_t)-1); wchar_t tkey[len + 1]; - lucene_utf8towcs(tkey, quoted_key, len + 1); + lucene_utf8towcs(tkey, quoted_key, len); + tkey[len] = 0; t_pop(); BooleanQuery lookup_query;