[Mesa-dev] [PATCH v2 2/7] util/blob: Add overwrite function for uint8

Mark Menzynski mmenzyns at redhat.com
Fri Feb 21 12:19:57 UTC 2020


Overwrite function for this type  was missing and I needed it for my project.

Signed-off-by: Mark Menzynski <mmenzyns at redhat.com>
---
 src/util/blob.c |  9 +++++++++
 src/util/blob.h | 15 +++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/src/util/blob.c b/src/util/blob.c
index 94d5a9dea74..5bf4b924c91 100644
--- a/src/util/blob.c
+++ b/src/util/blob.c
@@ -214,6 +214,15 @@ BLOB_WRITE_TYPE(blob_write_intptr, intptr_t)
 #define ASSERT_ALIGNED(_offset, _align) \
    assert(ALIGN((_offset), (_align)) == (_offset))
 
+bool
+blob_overwrite_uint8 (struct blob *blob,
+                      size_t offset,
+                      uint8_t value)
+{
+   ASSERT_ALIGNED(offset, sizeof(value));
+   return blob_overwrite_bytes(blob, offset, &value, sizeof(value));
+}
+
 bool
 blob_overwrite_uint32 (struct blob *blob,
                        size_t offset,
diff --git a/src/util/blob.h b/src/util/blob.h
index 9113331254a..e1e156eb43f 100644
--- a/src/util/blob.h
+++ b/src/util/blob.h
@@ -183,6 +183,21 @@ blob_overwrite_bytes(struct blob *blob,
 bool
 blob_write_uint8(struct blob *blob, uint8_t value);
 
+/**
+ * Overwrite a uint8_t previously written to the blob.
+ *
+ * Writes a uint8_t value to an existing portion of the blob at an offset of
+ * \offset.  This data range must have previously been written to the blob by
+ * one of the blob_write_* calls.
+ *
+ * \return True unless the requested position or position+to_write lie outside
+ * the current blob's size.
+ */
+bool
+blob_overwrite_uint8(struct blob *blob,
+                     size_t offset,
+                     uint8_t value);
+
 /**
  * Add a uint16_t to a blob.
  *
-- 
2.21.1



More information about the mesa-dev mailing list