Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | - |
17 | | - |
18 | | - |
19 | | - |
20 | | - |
21 | #include <config.h> | - |
22 | | - |
23 | #if !defined (HAVE_MBSCASECMP) && defined (HANDLE_MULTIBYTE) | - |
24 | | - |
25 | #include <stdlib.h> | - |
26 | #include <stddef.h> | - |
27 | #include <string.h> | - |
28 | | - |
29 | #include <wchar.h> | - |
30 | #include <wctype.h> | - |
31 | | - |
32 | | - |
33 | int | - |
34 | mbscasecmp (mbs1, mbs2) | - |
35 | const char *mbs1; | - |
36 | const char *mbs2; | - |
37 | { | - |
38 | int len1, len2, mb_cur_max; | - |
39 | wchar_t c1, c2, l1, l2; | - |
40 | | - |
41 | len1 = len2 = 0; | - |
42 | | - |
43 | (void) mblen ((char *) NULL, 0); | - |
44 | | - |
45 | mb_cur_max = MB_CUR_MAX; | - |
46 | do | - |
47 | { | - |
48 | len1 = mbtowc (&c1, mbs1, mb_cur_max); | - |
49 | len2 = mbtowc (&c2, mbs2, mb_cur_max); | - |
50 | | - |
51 | if (len1 == 0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
52 | return len2 == 0 ? 0 : -1; never executed: return len2 == 0 ? 0 : -1; | 0 |
53 | else if (len2 == 0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
54 | return 1; never executed: return 1; | 0 |
55 | else if (len1 > 0 && len2 < 0)TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
56 | return -1; never executed: return -1; | 0 |
57 | else if (len1 < 0 && len2 > 0)TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
58 | return 1; never executed: return 1; | 0 |
59 | else if (len1 < 0 && len2 < 0)TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
60 | { | - |
61 | len1 = strlen (mbs1); | - |
62 | len2 = strlen (mbs2); | - |
63 | return (len1 == len2 ? memcmp (mbs1, mbs2, len1) never executed: return (len1 == len2 ? memcmp (mbs1, mbs2, len1) : ((len1 < len2) ? (memcmp (mbs1, mbs2, len1) > 0 ? 1 : -1) : (memcmp (mbs1, mbs2, len2) >= 0 ? 1 : -1))); | 0 |
64 | : ((len1 < len2) ? (memcmp (mbs1, mbs2, len1) > 0 ? 1 : -1) never executed: return (len1 == len2 ? memcmp (mbs1, mbs2, len1) : ((len1 < len2) ? (memcmp (mbs1, mbs2, len1) > 0 ? 1 : -1) : (memcmp (mbs1, mbs2, len2) >= 0 ? 1 : -1))); | 0 |
65 | : (memcmp (mbs1, mbs2, len2) >= 0 ? 1 : -1))); never executed: return (len1 == len2 ? memcmp (mbs1, mbs2, len1) : ((len1 < len2) ? (memcmp (mbs1, mbs2, len1) > 0 ? 1 : -1) : (memcmp (mbs1, mbs2, len2) >= 0 ? 1 : -1))); | 0 |
66 | } | - |
67 | | - |
68 | l1 = towlower (c1); | - |
69 | l2 = towlower (c2); | - |
70 | | - |
71 | mbs1 += len1; | - |
72 | mbs2 += len2; | - |
73 | } never executed: end of block | 0 |
74 | while (l1 == l2);TRUE | never evaluated | FALSE | never evaluated |
| 0 |
75 | | - |
76 | return l1 - l2; never executed: return l1 - l2; | 0 |
77 | } | - |
78 | | - |
79 | #endif | - |
| | |