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

Side by Side Diff: fusl/src/ctype/iswctype.c

Issue 1573973002: Add a "fork" of musl as //fusl. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « fusl/src/ctype/iswcntrl.c ('k') | fusl/src/ctype/iswdigit.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #include <wctype.h>
2 #include <string.h>
3 #include "libc.h"
4
5 #define WCTYPE_ALNUM 1
6 #define WCTYPE_ALPHA 2
7 #define WCTYPE_BLANK 3
8 #define WCTYPE_CNTRL 4
9 #define WCTYPE_DIGIT 5
10 #define WCTYPE_GRAPH 6
11 #define WCTYPE_LOWER 7
12 #define WCTYPE_PRINT 8
13 #define WCTYPE_PUNCT 9
14 #define WCTYPE_SPACE 10
15 #define WCTYPE_UPPER 11
16 #define WCTYPE_XDIGIT 12
17
18 int iswctype(wint_t wc, wctype_t type)
19 {
20 switch (type) {
21 case WCTYPE_ALNUM:
22 return iswalnum(wc);
23 case WCTYPE_ALPHA:
24 return iswalpha(wc);
25 case WCTYPE_BLANK:
26 return iswblank(wc);
27 case WCTYPE_CNTRL:
28 return iswcntrl(wc);
29 case WCTYPE_DIGIT:
30 return iswdigit(wc);
31 case WCTYPE_GRAPH:
32 return iswgraph(wc);
33 case WCTYPE_LOWER:
34 return iswlower(wc);
35 case WCTYPE_PRINT:
36 return iswprint(wc);
37 case WCTYPE_PUNCT:
38 return iswpunct(wc);
39 case WCTYPE_SPACE:
40 return iswspace(wc);
41 case WCTYPE_UPPER:
42 return iswupper(wc);
43 case WCTYPE_XDIGIT:
44 return iswxdigit(wc);
45 }
46 return 0;
47 }
48
49 wctype_t wctype(const char *s)
50 {
51 int i;
52 const char *p;
53 /* order must match! */
54 static const char names[] =
55 "alnum\0" "alpha\0" "blank\0"
56 "cntrl\0" "digit\0" "graph\0"
57 "lower\0" "print\0" "punct\0"
58 "space\0" "upper\0" "xdigit";
59 for (i=1, p=names; *p; i++, p+=6)
60 if (*s == *p && !strcmp(s, p))
61 return i;
62 return 0;
63 }
64
65 int __iswctype_l(wint_t c, wctype_t t, locale_t l)
66 {
67 return iswctype(c, t);
68 }
69
70 wctype_t __wctype_l(const char *s, locale_t l)
71 {
72 return wctype(s);
73 }
74
75 weak_alias(__iswctype_l, iswctype_l);
76 weak_alias(__wctype_l, wctype_l);
OLDNEW
« no previous file with comments | « fusl/src/ctype/iswcntrl.c ('k') | fusl/src/ctype/iswdigit.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698