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

Side by Side Diff: fusl/src/string/strspn.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 size_t strspn(const char *s, const char *c) 7 size_t strspn(const char* s, const char* c) {
7 { 8 const char* a = s;
8 » const char *a = s; 9 size_t byteset[32 / sizeof(size_t)] = {0};
9 » size_t byteset[32/sizeof(size_t)] = { 0 };
10 10
11 » if (!c[0]) return 0; 11 if (!c[0])
12 » if (!c[1]) { 12 return 0;
13 » » for (; *s == *c; s++); 13 if (!c[1]) {
14 » » return s-a; 14 for (; *s == *c; s++)
15 » } 15 ;
16 return s - a;
17 }
16 18
17 » for (; *c && BITOP(byteset, *(unsigned char *)c, |=); c++); 19 for (; *c && BITOP(byteset, *(unsigned char*)c, |=); c++)
18 » for (; *s && BITOP(byteset, *(unsigned char *)s, &); s++); 20 ;
19 » return s-a; 21 for (; *s && BITOP(byteset, *(unsigned char*)s, &); s++)
22 ;
23 return s - a;
20 } 24 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698