linux/tools/perf/util/ctype.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Sane locale-independent, ASCII ctype.
   4 *
   5 * No surprises, and works with signed and unsigned chars.
   6 */
   7#include "sane_ctype.h"
   8
   9enum {
  10        S = GIT_SPACE,
  11        A = GIT_ALPHA,
  12        D = GIT_DIGIT,
  13        G = GIT_GLOB_SPECIAL,   /* *, ?, [, \\ */
  14        R = GIT_REGEX_SPECIAL,  /* $, (, ), +, ., ^, {, | * */
  15        P = GIT_PRINT_EXTRA,    /* printable - alpha - digit - glob - regex */
  16
  17        PS = GIT_SPACE | GIT_PRINT_EXTRA,
  18};
  19
  20unsigned char sane_ctype[256] = {
  21/*      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F                      */
  22
  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 */
  32};
  33
  34const char *graph_line =
  35        "_____________________________________________________________________"
  36        "_____________________________________________________________________"
  37        "_____________________________________________________________________";
  38const char *graph_dotted_line =
  39        "---------------------------------------------------------------------"
  40        "---------------------------------------------------------------------"
  41        "---------------------------------------------------------------------";
  42const char *spaces =
  43        "                                                                     "
  44        "                                                                     "
  45        "                                                                     ";
  46const char *dots =
  47        "....................................................................."
  48        "....................................................................."
  49        ".....................................................................";
  50