Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Side by Side Diff: fusl/src/string/strcspn.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #include <string.h> 1 #include <string.h>
2 2
3 #define BITOP(a,b,op) \ 3 #define BITOP(a, b, op) \
4 ((a)[(size_t)(b)/(8*sizeof *(a))] op (size_t)1<<((size_t)(b)%(8*sizeof *(a)))) 4 ((a)[(size_t)(b) / (8 * sizeof *(a))] op(size_t) 1 \
5 << ((size_t)(b) % (8 * sizeof *(a))))
5 6
6 char *__strchrnul(const char *, int); 7 char* __strchrnul(const char*, int);
7 8
8 size_t strcspn(const char *s, const char *c) 9 size_t strcspn(const char* s, const char* c) {
9 { 10 const char* a = s;
10 » const char *a = s; 11 size_t byteset[32 / sizeof(size_t)];
11 » size_t byteset[32/sizeof(size_t)];
12 12
13 » if (!c[0] || !c[1]) return __strchrnul(s, *c)-a; 13 if (!c[0] || !c[1])
14 return __strchrnul(s, *c) - a;
14 15
15 » memset(byteset, 0, sizeof byteset); 16 memset(byteset, 0, sizeof byteset);
16 » for (; *c && BITOP(byteset, *(unsigned char *)c, |=); c++); 17 for (; *c && BITOP(byteset, *(unsigned char*)c, |=); c++)
17 » for (; *s && !BITOP(byteset, *(unsigned char *)s, &); s++); 18 ;
18 » return s-a; 19 for (; *s && !BITOP(byteset, *(unsigned char*)s, &); s++)
20 ;
21 return s - a;
19 } 22 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698