Mesa (master): util/dynarray: add a clone function

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Aug 22 21:41:55 UTC 2018


Module: Mesa
Branch: master
Commit: 7f8ecedced0e65b40850c5c450fd8c3a1f2f90d1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f8ecedced0e65b40850c5c450fd8c3a1f2f90d1

Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Mon Aug 13 14:41:19 2018 -0700

util/dynarray: add a clone function

v2: Fix mem_ctx parameter type. (Thomas)

Reviewed-by: Thomas Helland <thomashelland90 at gmail.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/util/u_dynarray.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/util/u_dynarray.h b/src/util/u_dynarray.h
index dcbbc06d16..6bea481d44 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)
 {




More information about the mesa-commit mailing list