changeset 18129:0d870753d9ab

lib: Small optimization / unnecessary code removal from array_*() functions.
author Timo Sirainen <tss@iki.fi>
date Wed, 17 Dec 2014 13:39:57 +0100
parents 6dd190bd6dcb
children dd2eebe35a3a
files src/lib/array.c
diffstat 1 files changed, 6 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- 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)