charflag.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #include "charflag.h"
  2. #define C CF_CONTROL
  3. #define S CF_SPACE
  4. #define R CF_RETURN
  5. #define D CF_DIGIT
  6. #define L CF_LETTER
  7. #define H CF_HEX
  8. #define Y CF_SYMBOL
  9. unsigned char charflag[256] = {
  10. C,C,C,C,C,C,C,C,C,
  11. S, // \t
  12. R, // \n
  13. S, // \v
  14. S, // \f
  15. R, // \r
  16. C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,
  17. S, // space
  18. Y, // !
  19. Y, // "
  20. Y, // #
  21. Y, // $
  22. Y, // %
  23. Y, // &
  24. Y, // '
  25. Y, // (
  26. Y, // )
  27. Y, // *
  28. Y, // +
  29. Y, // ,
  30. Y, // -
  31. Y, // .
  32. Y, // /
  33. D|H, // 0
  34. D|H, // 1
  35. D|H, // 2
  36. D|H, // 3
  37. D|H, // 4
  38. D|H, // 5
  39. D|H, // 6
  40. D|H, // 7
  41. D|H, // 8
  42. D|H, // 9
  43. Y, // :
  44. Y, // ;
  45. Y, // <
  46. Y, // =
  47. Y, // >
  48. Y, // ?
  49. Y, // @
  50. L|H, // A
  51. L|H, // B
  52. L|H, // C
  53. L|H, // D
  54. L|H, // E
  55. L|H, // F
  56. L, // G
  57. L, // H
  58. L, // I
  59. L, // J
  60. L, // K
  61. L, // L
  62. L, // M
  63. L, // N
  64. L, // O
  65. L, // P
  66. L, // Q
  67. L, // R
  68. L, // S
  69. L, // T
  70. L, // U
  71. L, // V
  72. L, // W
  73. L, // X
  74. L, // Y
  75. L, // Z
  76. Y, // [
  77. Y, // \ (backslash)
  78. Y, // ]
  79. Y, // ^
  80. Y, // _
  81. Y, // `
  82. L|H, // a
  83. L|H, // b
  84. L|H, // c
  85. L|H, // d
  86. L|H, // e
  87. L|H, // f
  88. L, // g
  89. L, // h
  90. L, // i
  91. L, // j
  92. L, // k
  93. L, // l
  94. L, // m
  95. L, // n
  96. L, // o
  97. L, // p
  98. L, // q
  99. L, // r
  100. L, // s
  101. L, // t
  102. L, // u
  103. L, // v
  104. L, // w
  105. L, // x
  106. L, // y
  107. L, // z
  108. Y, // {
  109. Y, // |
  110. Y, // }
  111. Y, // ~
  112. C, // DEL
  113. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  114. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  115. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  116. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  117. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  118. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  119. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  120. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  121. };
  122. #undef C
  123. #undef S
  124. #undef R
  125. #undef D
  126. #undef L
  127. #undef H
  128. #undef Y