summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>2018-08-13 14:41:19 -0700
committerCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>2018-08-22 14:41:26 -0700
commit7f8ecedced0e65b40850c5c450fd8c3a1f2f90d1 (patch)
tree514c54dfb32c3c8220532560f43238ddb015f134
parent61b84b8c14c90a394e64cfb4edfd94fb746203a8 (diff)
util/dynarray: add a clone function
v2: Fix mem_ctx parameter type. (Thomas) Reviewed-by: Thomas Helland <thomashelland90@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-rw-r--r--src/util/u_dynarray.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/util/u_dynarray.h b/src/util/u_dynarray.h
index dcbbc06d161..6bea481d44b 100644
--- a/src/util/u_dynarray.h
+++ b/src/util/u_dynarray.h
@@ -102,6 +102,15 @@ util_dynarray_resize(struct util_dynarray *buf, unsigned newsize)
return p;
}
+static inline void
+util_dynarray_clone(struct util_dynarray *buf, void *mem_ctx,
+ struct util_dynarray *from_buf)
+{
+ util_dynarray_init(buf, mem_ctx);
+ util_dynarray_resize(buf, from_buf->size);
+ memcpy(buf->data, from_buf->data, from_buf->size);
+}
+
static inline void *
util_dynarray_grow(struct util_dynarray *buf, int diff)
{