1 // SPDX-License-Identifier: GPL-2.0
3 * Sane locale-independent, ASCII ctype.
5 * No surprises, and works with signed and unsigned chars.
7 #include "sane_ctype.h"
13 G
= GIT_GLOB_SPECIAL
, /* *, ?, [, \\ */
14 R
= GIT_REGEX_SPECIAL
, /* $, (, ), +, ., ^, {, | * */
15 P
= GIT_PRINT_EXTRA
, /* printable - alpha - digit - glob - regex */
17 PS
= GIT_SPACE
| GIT_PRINT_EXTRA
,
20 unsigned char sane_ctype
[256] = {
21 /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
23 0, 0, 0, 0, 0, 0, 0, 0, 0, S
, S
, 0, 0, S
, 0, 0, /* 0.. 15 */
24 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 16.. 31 */
25 PS
,P
, P
, P
, R
, P
, P
, P
, R
, R
, G
, R
, P
, P
, R
, P
, /* 32.. 47 */
26 D
, D
, D
, D
, D
, D
, D
, D
, D
, D
, P
, P
, P
, P
, P
, G
, /* 48.. 63 */
27 P
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, /* 64.. 79 */
28 A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, G
, G
, P
, R
, P
, /* 80.. 95 */
29 P
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, /* 96..111 */
30 A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, A
, R
, R
, P
, P
, 0, /* 112..127 */
31 /* Nothing in the 128.. range */
34 const char *graph_line
=
35 "_____________________________________________________________________"
36 "_____________________________________________________________________"
37 "_____________________________________________________________________";
38 const char *graph_dotted_line
=
39 "---------------------------------------------------------------------"
40 "---------------------------------------------------------------------"
41 "---------------------------------------------------------------------";
47 "....................................................................."
48 "....................................................................."
49 ".....................................................................";