ReactOS  0.4.14-dev-833-g5f692ed
strxspn.h
Go to the documentation of this file.
1 
2 #include <limits.h>
3 #include <string.h>
4 
5 size_t __cdecl _strxspn(const char *s1, const char *s2)
6 {
7  unsigned char char_map[1 << CHAR_BIT * sizeof(char)];
8  const unsigned char * us2 = (const unsigned char *)s2;
9  const unsigned char * str = (const unsigned char *)s1;
10 
11  memset(char_map, 0, sizeof(char_map));
12 
13  for(; *us2; ++ us2)
14  char_map[*us2 / CHAR_BIT] |= (1 << (*us2 % CHAR_BIT));
15 
16  for(; *str; ++ str)
17  if(_x(char_map[*str / CHAR_BIT] & (1 << (*str % CHAR_BIT)))) break;
18 
19  return (size_t)str - (size_t)s1;
20 }
21 
22 /* EOF */
struct S2 s2
#define __cdecl
Definition: accygwin.h:79
#define CHAR_BIT
Definition: urlcache.c:58
const WCHAR * str
unsigned char
Definition: typeof.h:29
size_t __cdecl _strxspn(const char *s1, const char *s2)
Definition: strxspn.h:5
__kernel_size_t size_t
Definition: linux.h:237
struct S1 s1
#define _x(oid)
#define memset(x, y, z)
Definition: compat.h:39