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_MBSCMP) && defined (HANDLE_MULTIBYTE) | - |
24 | | - |
25 | #include <stdlib.h> | - |
26 | #include <stddef.h> | - |
27 | #include <string.h> | - |
28 | | - |
29 | | - |
30 | int | - |
31 | mbscmp (mbs1, mbs2) | - |
32 | const char *mbs1; | - |
33 | const char *mbs2; | - |
34 | { | - |
35 | int len1, len2, mb_cur_max; | - |
36 | wchar_t c1, c2; | - |
37 | | - |
38 | len1 = len2 = 0; | - |
39 | | - |
40 | (void) mblen ((char *) NULL, 0); | - |
41 | | - |
42 | mb_cur_max = MB_CUR_MAX; | - |
43 | do | - |
44 | { | - |
45 | len1 = mbtowc (&c1, mbs1, mb_cur_max); | - |
46 | len2 = mbtowc (&c2, mbs2, mb_cur_max); | - |
47 | | - |
48 | if (len1 == 0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
49 | return len2 == 0 ? 0 : -1; never executed: return len2 == 0 ? 0 : -1; | 0 |
50 | else if (len2 == 0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
51 | return 1; never executed: return 1; | 0 |
52 | else if (len1 > 0 && len2 < 0)TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
53 | return -1; never executed: return -1; | 0 |
54 | else if (len1 < 0 && len2 > 0)TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
55 | return 1; never executed: return 1; | 0 |
56 | else if (len1 < 0 && len2 < 0)TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
57 | { | - |
58 | len1 = strlen (mbs1); | - |
59 | len2 = strlen (mbs2); | - |
60 | 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 |
61 | : ((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 |
62 | : (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 |
63 | } | - |
64 | | - |
65 | mbs1 += len1; | - |
66 | mbs2 += len2; | - |
67 | } never executed: end of block | 0 |
68 | while (c1 == c2);TRUE | never evaluated | FALSE | never evaluated |
| 0 |
69 | | - |
70 | return c1 - c2; never executed: return c1 - c2; | 0 |
71 | } | - |
72 | | - |
73 | #endif | - |
| | |