[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