aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornyamatongwe <unknown>2010-05-17 02:48:46 +0000
committernyamatongwe <unknown>2010-05-17 02:48:46 +0000
commit7f38038656650505d5a04a7f7ae335a1fbf8f0a7 (patch)
tree15b23e490091f50a587503fcd409ef72ca09b529 /src
parent74d92c0f19f84c9f1f5f9e87130c89484db155f6 (diff)
downloadscintilla-mirror-7f38038656650505d5a04a7f7ae335a1fbf8f0a7.tar.gz
Fix debug assertions for bug #3000566.
Diffstat (limited to 'src')
-rw-r--r--src/LexBullant.cxx2
-rw-r--r--src/LexLisp.cxx2
-rw-r--r--src/LexMPT.cxx2
-rw-r--r--src/LexOpal.cxx8
-rw-r--r--src/LexPerl.cxx2
5 files changed, 8 insertions, 8 deletions
diff --git a/src/LexBullant.cxx b/src/LexBullant.cxx
index d40e50bde..28e2e7543 100644
--- a/src/LexBullant.cxx
+++ b/src/LexBullant.cxx
@@ -112,7 +112,7 @@ static void ColouriseBullantDoc(unsigned int startPos, int length, int initStyle
}
blockChange=0;
*/ }
- if (!isspace(ch))
+ if (!(isascii(ch) && isspace(ch)))
visibleChars++;
if (styler.IsLeadByte(ch)) {
diff --git a/src/LexLisp.cxx b/src/LexLisp.cxx
index e1d06cbac..ad5535f14 100644
--- a/src/LexLisp.cxx
+++ b/src/LexLisp.cxx
@@ -139,7 +139,7 @@ static void ColouriseLispDoc(unsigned int startPos, int length, int initStyle, W
}
}
} else if (state == SCE_LISP_MACRO_DISPATCH) {
- if (!isdigit(ch)) {
+ if (!(isascii(ch) && isdigit(ch))) {
if (ch != 'r' && ch != 'R' && (i - styler.GetStartSegment()) > 1) {
state = SCE_LISP_DEFAULT;
} else {
diff --git a/src/LexMPT.cxx b/src/LexMPT.cxx
index b0099ff86..a69fe5464 100644
--- a/src/LexMPT.cxx
+++ b/src/LexMPT.cxx
@@ -32,7 +32,7 @@ static int GetLotLineState(std::string &line) {
// Now finds the first non-blank character
unsigned i; // Declares counter here to make it persistent after the for loop
for (i = 0; i < line.length(); ++i) {
- if (!isspace(line[i]))
+ if (!(isascii(line[i]) && isspace(line[i])))
break;
}
diff --git a/src/LexOpal.cxx b/src/LexOpal.cxx
index 221f95597..46cf43f7c 100644
--- a/src/LexOpal.cxx
+++ b/src/LexOpal.cxx
@@ -292,7 +292,7 @@ inline bool HandleInteger( unsigned int & cur, unsigned int one_too_much, Access
}
ch = styler.SafeGetCharAt( cur );
- if( !isdigit( ch ) )
+ if( !( isascii( ch ) && isdigit( ch ) ) )
{
styler.ColourTo( cur - 1, SCE_OPAL_INTEGER );
styler.StartSegment( cur );
@@ -311,7 +311,7 @@ inline bool HandleWord( unsigned int & cur, unsigned int one_too_much, Accessor
{
ch = styler.SafeGetCharAt( cur );
if( ( ch != '_' ) && ( ch != '-' ) &&
- !islower( ch ) && !isupper( ch ) && !isdigit( ch ) ) break;
+ !( isascii( ch ) && ( islower( ch ) || isupper( ch ) || isdigit( ch ) ) ) ) break;
cur++;
if( cur >= one_too_much )
@@ -487,13 +487,13 @@ static void ColouriseOpalDoc( unsigned int startPos, int length, int initStyle,
default:
{
// Integer
- if( isdigit( ch ) )
+ if( isascii( ch ) && isdigit( ch ) )
{
if( !HandleInteger( cur, one_too_much, styler ) ) return;
}
// Keyword
- else if( islower( ch ) || isupper( ch ) )
+ else if( isascii( ch ) && ( islower( ch ) || isupper( ch ) ) )
{
if( !HandleWord( cur, one_too_much, styler, keywordlists ) ) return;
diff --git a/src/LexPerl.cxx b/src/LexPerl.cxx
index 0c6603620..bca78f57c 100644
--- a/src/LexPerl.cxx
+++ b/src/LexPerl.cxx
@@ -1243,7 +1243,7 @@ static void FoldPerlDoc(unsigned int startPos, int length, int, WordList *[],
else if (styler.Match(i, "=head"))
isPodHeading = true;
} else if (style == SCE_PL_DATASECTION) {
- if (ch == '=' && isalpha(chNext) && levelCurrent == SC_FOLDLEVELBASE)
+ if (ch == '=' && isascii(chNext) && isalpha(chNext) && levelCurrent == SC_FOLDLEVELBASE)
levelCurrent++;
else if (styler.Match(i, "=cut") && levelCurrent > SC_FOLDLEVELBASE)
levelCurrent--;