changeset 4897:30834ce4362f HEAD

Use realloc instead of alloc+free.
author Timo Sirainen <tss@iki.fi>
date Wed, 13 Dec 2006 14:31:41 +0200
parents 3d00a9636393
children 07a038b57946
files src/plugins/fts-squat/squat-trie.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts-squat/squat-trie.c	Sun Dec 10 18:04:46 2006 +0200
+++ b/src/plugins/fts-squat/squat-trie.c	Wed Dec 13 14:31:41 2006 +0200
@@ -920,7 +920,7 @@
 			(node->chars_16bit_count + 1) * idx_size;
 	}
 
-	new_node = i_malloc(new_size);
+	new_node = t_buffer_get(new_size);
 	if (chr < 256) {
 		hole1_pos = sizeof(*node) + char_idx;
 		old_idx_offset = sizeof(*node) + ALIGN(node->chars_8bit_count);
@@ -961,8 +961,10 @@
 	       old_size - hole2_pos);
 
 	new_node->resized = TRUE;
-	i_free(node);
-	return new_node;
+
+	node = i_realloc(node, 0, new_size);
+	memcpy(node, new_node, new_size);
+	return node;
 }
 
 static int