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

Author: Mark Menzynski <[email protected]>
Date:   Tue Dec 10 11:28:11 2019 +0100

util/blob: Add overwrite function for uint8

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

Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Karol Herbst <[email protected]>
Signed-off-by: Mark Menzynski <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3903>

---

 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 e4000334e0a..f830eb48076 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.
  *

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to