]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Small optimization / unnecessary code removal from array_*() functions.
authorTimo Sirainen <tss@iki.fi>
Wed, 17 Dec 2014 12:39:57 +0000 (13:39 +0100)
committerTimo Sirainen <tss@iki.fi>
Wed, 17 Dec 2014 12:39:57 +0000 (13:39 +0100)
src/lib/array.c

index a00731b6317209a10c1c26caf305874b43aff037..439d4ed5a3c53fdf24e7cc26b317f9214dec3232 100644 (file)
@@ -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)