Messages in this thread | | | Subject | Re: [PATCH 2/2] lib/vsprintf.c: Further simplify uuid_string() | From | Joe Perches <> | Date | Mon, 11 May 2015 19:14:00 -0700 |
| |
On Mon, 2015-05-11 at 15:55 -0400, George Spelvin wrote: > Make the endianness permutation table do double duty by having it > list not source offsets, but destination offsets. Thus, it both puts > the bytes in the right order and skips the hyphens.
Thanks George. One minor nit maybe not worth updating.
> diff --git a/lib/vsprintf.c b/lib/vsprintf.c [] > @@ -1265,10 +1265,9 @@ char *uuid_string(char *buf, char *end, const u8 *addr, > struct printf_spec spec, const char *fmt) > { > char uuid[sizeof("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]; > - char *p = uuid; > int i; > - static const u8 be[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; > - static const u8 le[16] = {3,2,1,0,5,4,7,6,8,9,10,11,12,13,14,15}; > + static const u8 be[16] = {0,2,4,6,9,11,14,16,19,21,24,26,28,30,32,34}; > + static const u8 le[16] = {6,4,2,0,11,9,16,14,19,21,24,26,28,30,32,34};
These might be better with a little comment/explanation of the values as output offsets for each index.
| |