[U-Boot] [PATCH 1/3] lib: add uuid_str_to_bin for use with bootp and PXE uuid

Wolfgang Denk wd at denx.de
Mon Jun 6 23:30:59 CEST 2011


Dear "Jason Hobbs",

In message <1307386157-3660-2-git-send-email-jason.hobbs at calxeda.com> you wrote:
> Signed-off-by: Jason Hobbs <jason.hobbs at calxeda.com>
> ---
>  include/uuid.h |   28 ++++++++++++++++++++++++++++
>  lib/Makefile   |    1 +
>  lib/uuid.c     |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++

Is this new code, or copied from somewhere?

>  3 files changed, 79 insertions(+), 0 deletions(-)
>  create mode 100644 include/uuid.h
>  create mode 100644 lib/uuid.c
> 
> diff --git a/include/uuid.h b/include/uuid.h
> new file mode 100644
> index 0000000..f5a242b
> --- /dev/null
> +++ b/include/uuid.h
...
> +void uuid_str_to_bin(const char *uuid, unsigned char *out);

Do we really need a new header file for just this single prototype.
Please add to common.h

> index afa6914..82b318d 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -53,6 +53,7 @@ COBJS-y	+= strmhz.o
>  COBJS-y += time.o
>  COBJS-y += vsprintf.o
>  COBJS-$(CONFIG_RBTREE)	+= rbtree.o
> +COBJS-y += uuid.o

Please sort list, amd make compilation conditional.

> +/*
> + * 0        9    14   19   24
> + * xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
> + *    le     le   le   be       be
> + */
> +void uuid_str_to_bin(const char *uuid, unsigned char *out)
> +{
> +	uint16_t tmp16;
> +	uint32_t tmp32;
> +	uint64_t tmp64;
> +
> +	tmp32 = cpu_to_le32(simple_strtoul(uuid, NULL, 16));
> +	memcpy(out, &tmp32, 4);
> +
> +	tmp16 = cpu_to_le16(simple_strtoul(uuid + 9, NULL, 16));
> +	memcpy(out + 4, &tmp16, 2);
> +
> +	tmp16 = cpu_to_le16(simple_strtoul(uuid + 14, NULL, 16));
> +	memcpy(out + 6, &tmp16, 2);
> +
> +	tmp16 = cpu_to_be16(simple_strtoul(uuid + 19, NULL, 16));
> +	memcpy(out + 8, &tmp16, 2);
> +
> +	tmp64 = cpu_to_be64(simple_strtoull(uuid + 24, NULL, 16));
> +	memcpy(out + 10, (char *)&tmp64 + 2, 6);

Should we perform _any_ checking for errors here?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Drun'? 'm not drun'! You woudn' dare call m' drun' if I was sober!
                                     - Terry Pratchett, _Men at Arms_


More information about the U-Boot mailing list