dovecot-2.2: lib: Small optimization / unnecessary code removal ...

dovecot at dovecot.org dovecot at dovecot.org
Wed Dec 17 12:40:39 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/0d870753d9ab
changeset: 18129:0d870753d9ab
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Dec 17 13:39:57 2014 +0100
description:
lib: Small optimization / unnecessary code removal from array_*() functions.

diffstat:

 src/lib/array.c |  33 ++++++---------------------------
 1 files changed, 6 insertions(+), 27 deletions(-)

diffs (51 lines):

diff -r 6dd190bd6dcb -r 0d870753d9ab src/lib/array.c
--- a/src/lib/array.c	Fri Dec 05 05:50:19 2014 +0200
+++ b/src/lib/array.c	Wed Dec 17 13:39:57 2014 +0100
@@ -7,41 +7,20 @@
 
 void *array_idx_modifiable_i(struct array *array, unsigned int idx)
 {
-	size_t pos;
-
-	pos = idx * array->element_size;
-	if (pos >= array->buffer->used) {
-		/* index doesn't exist yet, initialize with zero */
-		buffer_append_zero(array->buffer, pos + array->element_size -
-				   array->buffer->used);
-	}
-	return buffer_get_space_unsafe(array->buffer, pos, array->element_size);
+	return buffer_get_space_unsafe(array->buffer, idx * array->element_size,
+				       array->element_size);
 }
 
 void array_idx_set_i(struct array *array, unsigned int idx, const void *data)
 {
-	size_t pos;
-
-	pos = idx * array->element_size;
-	if (pos > array->buffer->used) {
-		/* index doesn't exist yet, initialize with zero */
-		buffer_append_zero(array->buffer, pos - array->buffer->used);
-	}
-	buffer_write(array->buffer, pos, data, array->element_size);
+	buffer_write(array->buffer, idx * array->element_size,
+		     data, array->element_size);
 }
 
 void array_idx_clear_i(struct array *array, unsigned int idx)
 {
-	size_t pos;
-
-	pos = idx * array->element_size;
-	if (pos > array->buffer->used) {
-		/* index doesn't exist yet, initialize with zero */
-		buffer_append_zero(array->buffer, pos - array->buffer->used +
-				   array->element_size);
-	} else {
-		buffer_write_zero(array->buffer, pos, array->element_size);
-	}
+	buffer_write_zero(array->buffer, idx * array->element_size,
+			  array->element_size);
 }
 
 void *array_insert_space_i(struct array *array, unsigned int idx)


More information about the dovecot-cvs mailing list