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;