Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

164 lines
4.6 KiB

#include "precomp.h"
#pragma hdrstop
//
// Map to determine characteristics of text
//
UCHAR Charmap[CHARMAP_SIZE] = {
LX_EOS, // 0x0, <end of string marker>
LX_ILL, // 0x1
LX_ILL, // 0x2
LX_ILL, // 0x3
LX_ILL, // 0x4
LX_ILL, // 0x5
LX_ILL, // 0x6
LX_ILL, // 0x7
LX_ILL, // 0x8
LX_WHITE, // <horizontal tab>
LX_NL, // <newline>
LX_WHITE, // <vertical tab>
LX_WHITE, // <form feed>
LX_CR, // <really a carriage return>
LX_ILL, // 0xe
LX_ILL, // 0xf
LX_ILL, // 0x10
LX_ILL, // 0x11
LX_ILL, // 0x12
LX_ILL, // 0x13
LX_ILL, // 0x14
LX_ILL, // 0x15
LX_ILL, // 0x16
LX_ILL, // 0x17
LX_ILL, // 0x18
LX_ILL, // 0x19
LX_EOS, // 0x1a, ^Z
LX_ILL, // 0x1b
LX_ILL, // 0x1c
LX_ILL, // 0x1d
LX_ILL, // 0x1e
LX_ILL, // 0x1f
LX_WHITE, // 0x20
LX_OPERATOR, // !
LX_DQUOTE, // "
LX_POUND, // #
LX_ASCII, // $
LX_OPERATOR, // %
LX_OPERATOR, // &
LX_SQUOTE, // '
LX_OPERATOR, // (
LX_OPERATOR, // )
LX_OPERATOR, // *
LX_OPERATOR, // +
LX_COMMA, // ,
LX_MINUS, // -
LX_DOT, // .
LX_OPERATOR, // /
LX_NUMBER, // 0
LX_NUMBER, // 1
LX_NUMBER, // 2
LX_NUMBER, // 3
LX_NUMBER, // 4
LX_NUMBER, // 5
LX_NUMBER, // 6
LX_NUMBER, // 7
LX_NUMBER, // 8
LX_NUMBER, // 9
LX_COLON, // :
LX_SEMI, // ;
LX_OPERATOR, // <
LX_OPERATOR, // =
LX_OPERATOR, // >
LX_EOS, // ?
LX_EACH, // @
LX_ID, // A
LX_ID, // B
LX_ID, // C
LX_ID, // D
LX_ID, // E
LX_ID, // F
LX_ID, // G
LX_ID, // H
LX_ID, // I
LX_ID, // J
LX_ID, // K
LX_ID, // L
LX_ID, // M
LX_ID, // N
LX_ID, // O
LX_ID, // P
LX_ID, // Q
LX_ID, // R
LX_ID, // S
LX_ID, // T
LX_ID, // U
LX_ID, // V
LX_ID, // W
LX_ID, // X
LX_ID, // Y
LX_ID, // Z
LX_OBRACK, // [
LX_EOS, // \ (backslash)
LX_CBRACK, // ]
LX_OPERATOR, // ^
LX_MACRO, // _
LX_ASCII, // `
LX_ID, // a
LX_ID, // b
LX_ID, // c
LX_ID, // d
LX_ID, // e
LX_ID, // f
LX_ID, // g
LX_ID, // h
LX_ID, // i
LX_ID, // j
LX_ID, // k
LX_ID, // l
LX_ID, // m
LX_ID, // n
LX_ID, // o
LX_ID, // p
LX_ID, // q
LX_ID, // r
LX_ID, // s
LX_ID, // t
LX_ID, // u
LX_ID, // v
LX_ID, // w
LX_ID, // x
LX_ID, // y
LX_ID, // z
LX_OBRACE, // {
LX_OPERATOR, // |
LX_CBRACE, // }
LX_OPERATOR, // ~
LX_ILL, // 0x7f
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO, LX_MACRO,
};
void initCharmap(void)
{
int i;
for (i = 0; i <= 127; i++) {
// Initialize valid macro chars (besides '_' and >= 128)
if (_istalnum(i)) {
Charmap[i] |= LX_MACRO;
}
}
}