Re: [PATCH v3 1/2] util: Introduce virStringFormatHex

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/11/25 20:18, Praveen K Paladugu wrote:
> virStringFormatHex converts an input byte array into hex string and
> returns it.
> 
> Signed-off-by: Praveen K Paladugu <praveenkpaladugu@xxxxxxxxx>
> ---
>  src/libvirt_private.syms |  1 +
>  src/util/virstring.c     | 19 +++++++++++++++++++
>  src/util/virstring.h     |  1 +
>  3 files changed, 21 insertions(+)
> 
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 6888f6b599..df2f425ef6 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -3460,6 +3460,7 @@ virSkipToDigit;
>  virStrcpy;
>  virStringBufferIsPrintable;
>  virStringFilterChars;
> +virStringFormatHex;
>  virStringHasCaseSuffix;
>  virStringHasChars;
>  virStringHasControlChars;
> diff --git a/src/util/virstring.c b/src/util/virstring.c
> index 15c3f7bdd1..49b52ce018 100644
> --- a/src/util/virstring.c
> +++ b/src/util/virstring.c
> @@ -1092,3 +1092,22 @@ virStringListRemoveDuplicates(char ***list)
>      g_free(*list);
>      *list = g_renew(char *, unique, n + 1);
>  }
> +
> +/**
> + * virStringFormatHex:
> + * @buf: buffer to format
> + * @len: length of the buffer
> + *
> + * Format a byte array into a hexadecimal string and return it.

Since you're documenting behavior, I'd also mention it's callers
responsibility to free returned string.

> + */
> +char *
> +virStringFormatHex(uint8_t *buf, size_t len)

s/uint8_t/const unsigned char/

> +{
> +    char *hex = g_new0(char, len * 2 + 1);
> +    size_t i;
> +
> +    for (i = 0; i < len; i++)
> +        g_snprintf(hex + i * 2, 3, "%02x", buf[i]);
> +
> +    return g_steal_pointer(&hex);
> +}
> diff --git a/src/util/virstring.h b/src/util/virstring.h
> index 31a404e106..f5dfbf5387 100644
> --- a/src/util/virstring.h
> +++ b/src/util/virstring.h
> @@ -140,3 +140,4 @@ int virStringParseVersion(unsigned long long *version,
>                            bool allowMissing);
>  
>  void virStringListRemoveDuplicates(char ***list);
> +char *virStringFormatHex(uint8_t *buf, size_t len);


Michal



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux