61 lines
1.2 KiB
C++
61 lines
1.2 KiB
C++
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
Copyright (c) 1995-1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
mbcs.cxx
|
|
|
|
Abstract:
|
|
|
|
MBCS support related code used by the lexer.
|
|
|
|
Notes:
|
|
|
|
History:
|
|
|
|
RyszardK Sep-1996 Created.
|
|
|
|
----------------------------------------------------------------------------*/
|
|
|
|
class CharacterSet
|
|
{
|
|
private:
|
|
unsigned char DbcsLeadByteTable[256];
|
|
unsigned long CurrentLCID;
|
|
|
|
public:
|
|
typedef enum
|
|
{
|
|
dbcs_Failure = 0,
|
|
dbcs_Success,
|
|
dbcs_LCIDConflict,
|
|
dbcs_BadLCID,
|
|
} DBCS_ERRORS;
|
|
|
|
CharacterSet();
|
|
|
|
DBCS_ERRORS
|
|
SetDbcsLeadByteTable( unsigned long ulLocale );
|
|
|
|
inline
|
|
unsigned short
|
|
IsMbcsLeadByte(
|
|
unsigned char ch )
|
|
{
|
|
return DbcsLeadByteTable[ ch ];
|
|
}
|
|
|
|
int
|
|
CompareDBCSString
|
|
(
|
|
char* szLHStr,
|
|
char* szRHStr,
|
|
unsigned long ulFlags = 0
|
|
);
|
|
|
|
int
|
|
DBCSDefaultToCaseSensitive();
|
|
};
|
|
|
|
extern CharacterSet CurrentCharSet;
|