Thread (16 messages) 16 messages, 3 authors, 2016-04-06

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

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.
quoted hunk ↗ jump to hunk
--- 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help