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