[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v3 2/2] lib/nolibc: Conform code taken from musl to our style
Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> On 24.08.2018 11:53, Florian Schmidt wrote: This fixes all style warnings and errors, as well as compiler warnings on HASZERO (-Wparentheses). Signed-off-by: Razvan Cojocaru <razvan.cojocaru93@xxxxxxxxx> Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx> --- lib/nolibc/string.c | 67 ++++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/lib/nolibc/string.c b/lib/nolibc/string.c index eee3113..d4a6469 100644 --- a/lib/nolibc/string.c +++ b/lib/nolibc/string.c @@ -180,70 +180,87 @@ int strcmp(const char *str1, const char *str2)/* The following code is taken from musl libc */#define ALIGN (sizeof(size_t)) -#define ONES ((size_t)-1/UCHAR_MAX) -#define HIGHS (ONES * (UCHAR_MAX/2+1)) -#define HASZERO(x) ((x)-ONES & ~(x) & HIGHS) -#define BITOP(a,b,op) \ - ((a)[(size_t)(b)/(8*sizeof *(a))] op (size_t)1<<((size_t)(b)%(8*sizeof *(a)))) +#define ONES ((size_t) -1 / UCHAR_MAX) +#define HIGHS (ONES * (UCHAR_MAX / 2 + 1)) +#define HASZERO(x) (((x) - ONES) & ~(x) & HIGHS) +#define BITOP(a, b, op) \ + ((a)[(size_t)(b) / (8*sizeof *(a))] op \ + (size_t)1 << ((size_t)(b) % (8 * sizeof *(a))))char *strchrnul(const char *s, int c){ size_t *w, k;c = (unsigned char)c;- if (!c) return (char *)s + strlen(s); + if (!c) + return (char *)s + strlen(s);for (; (uintptr_t)s % ALIGN; s++)- if (!*s || *(unsigned char *)s == c) return (char *)s; + if (!*s || *(unsigned char *)s == c) + return (char *)s; k = ONES * c; - for (w = (void *)s; !HASZERO(*w) && !HASZERO(*w^k); w++); - for (s = (void *)w; *s && *(unsigned char *)s != c; s++); + for (w = (void *)s; !HASZERO(*w) && !HASZERO(*w ^ k); w++) + ; + for (s = (void *)w; *s && *(unsigned char *)s != c; s++) + ; return (char *)s; }-char *strchr(const char *s, int c)+char *strchr(const char *str, int c) { - char *r = strchrnul(s, c); + char *r = strchrnul(str, c); return *(unsigned char *)r == (unsigned char)c ? r : 0; }size_t strcspn(const char *s, const char *c){ const char *a = s; - size_t byteset[32/sizeof(size_t)]; + size_t byteset[32 / sizeof(size_t)];- if (!c[0] || !c[1]) return strchrnul(s, *c)-a;+ if (!c[0] || !c[1]) + return strchrnul(s, *c)-a;- memset(byteset, 0, sizeof byteset);- for (; *c && BITOP(byteset, *(unsigned char *)c, |=); c++); - for (; *s && !BITOP(byteset, *(unsigned char *)s, &); s++); + memset(byteset, 0, sizeof(byteset)); + for (; *c && BITOP(byteset, *(unsigned char *)c, |=); c++) + ; + for (; *s && !BITOP(byteset, *(unsigned char *)s, &); s++) + ; return s-a; }size_t strspn(const char *s, const char *c){ const char *a = s; - size_t byteset[32/sizeof(size_t)] = { 0 }; + size_t byteset[32 / sizeof(size_t)] = { 0 };- if (!c[0]) return 0;+ if (!c[0]) + return 0; if (!c[1]) { - for (; *s == *c; s++); + for (; *s == *c; s++) + ; return s-a; }- for (; *c && BITOP(byteset, *(unsigned char *)c, |=); c++);- for (; *s && BITOP(byteset, *(unsigned char *)s, &); s++); + for (; *c && BITOP(byteset, *(unsigned char *)c, |=); c++) + ; + for (; *s && BITOP(byteset, *(unsigned char *)s, &); s++) + ; return s-a; }char *strtok(char *restrict s, const char *restrict sep){ static char *p; - if (!s && !(s = p)) return NULL; + + if (!s && !(s = p)) + return NULL; s += strspn(s, sep); - if (!*s) return p = 0; + if (!*s) + return p = 0; p = s + strcspn(s, sep); - if (*p) *p++ = 0; - else p = 0; + if (*p) + *p++ = 0; + else + p = 0; return s; } _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |