Re: [PATCH v3 04/10] lib/uuid: introduce few more generic helpers for UUID
From: Andy Shevchenko <hidden>
Date: 2016-04-05 14:15:29
Also in:
linux-efi, lkml
From: Andy Shevchenko <hidden>
Date: 2016-04-05 14:15:29
Also in:
linux-efi, lkml
On Tue, 2016-04-05 at 16:56 +0300, Andy Shevchenko wrote:
There are new helpers in this patch: uuid_is_valid checks if a UUID is valid uuid_be_to_bin converts from string to binary (big endian) uuid_le_to_bin converts from string to binary (little endian) They will be used in future, i.e. in the following patches in the series. This also moves indices arrays to lib/uuid.c to be shared accross modules.
--- a/lib/uuid.c +++ b/lib/uuid.c
+static int __uuid_to_bin(const char *uuid, __u8 b[16], const u8
ei[16])
+{
+ static const u8 si[16] =
{0,2,4,6,9,11,14,16,19,21,24,26,28,30,32,34};
+ unsigned int i;
+
+ if (uuid_is_valid(uuid))Oops, sorry, typo is here, should be negative check. if (!uuid_is_valid(uuid))
+ return -EINVAL;
+
+ for (i = 0; i < 16; i++) {
+ int hi = hex_to_bin(uuid[si[i]] + 0);
+ int lo = hex_to_bin(uuid[si[i]] + 1);
+
+ b[ei[i]] = (hi << 4) | lo;
+ }
+
+ return 0;
+}-- Andy Shevchenko [off-list ref] Intel Finland Oy