[U-Boot] [PATCH v2 1/1] lib/vsprintf: allow printing upper case GUIDs
Alexander Graf
agraf at csgraf.de
Sat Apr 27 08:00:32 UTC 2019
On 26.04.19 19:23, Heinrich Schuchardt wrote:
> In the UEFI context GUIDs are expected to be rendered in upper case.
>
> The patch uses the formerly unused bit 1 of the parameter str_format
> of function uuid_bin_to_str() to indicate if we need upper or lower case
> output.
>
> Function uuid_string() in vsprint.c is adjusted to correctly set the bit
> depending on the print format code.
>
> %pUb: 01020304-0506-0708-090a-0b0c0d0e0f10
> %pUB: 01020304-0506-0708-090A-0B0C0D0E0F10
> %pUl: 04030201-0605-0807-090a-0b0c0d0e0f10
> %pUL: 04030201-0605-0807-090A-0B0C0D0E0F10
>
> Up to this point only a diagnostic message in mount_ubifs() using '%pUB' is
> concerned by the change. Further patches are needed to adjust the UEFI
> subsystem.
>
> A unit test is provided inside the ut_print command.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
> v2
> add missing sprintf() statement in unit test
> ---
> include/uuid.h | 8 ++++----
> lib/uuid.c | 18 ++++++++++++------
> lib/vsprintf.c | 14 ++++++++------
> test/print_ut.c | 23 +++++++++++++++++++++++
> 4 files changed, 47 insertions(+), 16 deletions(-)
>
> diff --git a/include/uuid.h b/include/uuid.h
> index 124bbce8a2..47d5b0d8d4 100644
> --- a/include/uuid.h
> +++ b/include/uuid.h
> @@ -16,10 +16,10 @@ struct uuid {
> unsigned char node[6];
> } __packed;
>
> -enum {
> - UUID_STR_FORMAT_STD,
> - UUID_STR_FORMAT_GUID
> -};
> +/* Bits of a bitmask specifying the output format for GUIDs */
> +#define UUID_STR_FORMAT_STD 0
> +#define UUID_STR_FORMAT_GUID 1
> +#define UUID_STR_UPPER_CASE 2
When #define'ing bitmasks, it's usually more obvious for the reader when
they're defined through shift operations:
#define ... (1<<0)
#define ... (1<<1)
etc
The rest looks great to me :)
Alex
More information about the U-Boot
mailing list