[Mesa-dev] [PATCH 2/8] util/blob: Add overwrite function for uint8
Karol Herbst
kherbst at redhat.com
Mon Feb 17 19:32:31 UTC 2020
On Mon, Feb 17, 2020 at 6:41 PM Mark Menzynski <mmenzyns at redhat.com> wrote:
>
> 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));
> +}
> +
I think it would be better to do the same as with the write functions
and define a macro for the implementation.
> bool
> blob_overwrite_uint32 (struct blob *blob,
> size_t offset,
> diff --git a/src/util/blob.h b/src/util/blob.h
> index 9113331254a..d5496fef1cd 100644
> --- a/src/util/blob.h
> +++ b/src/util/blob.h
> @@ -209,6 +209,21 @@ blob_write_uint16(struct blob *blob, uint16_t value);
> bool
> blob_write_uint32(struct blob *blob, uint32_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);
> +
following the existing pattern, I think this should be moved after the
blob_write_uint8 declaration.
> /**
> * Overwrite a uint32_t previously written to the blob.
> *
> --
> 2.21.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list