diff options
author | nyamatongwe <devnull@localhost> | 2008-04-20 03:01:04 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2008-04-20 03:01:04 +0000 |
commit | 3be48e12ea69c4443d7296ad6e00bb77bf9d6f04 (patch) | |
tree | fd4f9af4c09e56d957cc1ac5de7b1b40809632f9 /src/LexAsm.cxx | |
parent | 75eaf540335c5960d49bbda02bf83ac412019025 (diff) | |
download | scintilla-mirror-3be48e12ea69c4443d7296ad6e00bb77bf9d6f04.tar.gz |
Safety for non-ASCII characters when calling ctype functions.
Diffstat (limited to 'src/LexAsm.cxx')
-rw-r--r-- | src/LexAsm.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/LexAsm.cxx b/src/LexAsm.cxx index 9dd4df456..6a3902d52 100644 --- a/src/LexAsm.cxx +++ b/src/LexAsm.cxx @@ -37,8 +37,8 @@ static inline bool IsAWordStart(const int ch) { ch == '%' || ch == '@' || ch == '$' || ch == '?'); } -static inline bool IsAsmOperator(char ch) { - if (isalnum(ch)) +static inline bool IsAsmOperator(const int ch) { + if ((ch < 0x80) && (isalnum(ch))) return false; // '.' left out as it is used to make up numbers if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || @@ -89,7 +89,7 @@ static void ColouriseAsmDoc(unsigned int startPos, int length, int initStyle, Wo // Determine if the current state should terminate. if (sc.state == SCE_ASM_OPERATOR) { - if (!IsAsmOperator(static_cast<char>(sc.ch))) { + if (!IsAsmOperator(sc.ch)) { sc.SetState(SCE_ASM_DEFAULT); } }else if (sc.state == SCE_ASM_NUMBER) { @@ -157,7 +157,7 @@ static void ColouriseAsmDoc(unsigned int startPos, int length, int initStyle, Wo sc.SetState(SCE_ASM_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_ASM_CHARACTER); - } else if (IsAsmOperator(static_cast<char>(sc.ch))) { + } else if (IsAsmOperator(sc.ch)) { sc.SetState(SCE_ASM_OPERATOR); } } |