aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lexers/LexHTML.cxx4
-rw-r--r--lexlib/CharacterSet.cxx8
-rw-r--r--lexlib/CharacterSet.h10
-rw-r--r--src/EditView.cxx8
4 files changed, 16 insertions, 14 deletions
diff --git a/lexers/LexHTML.cxx b/lexers/LexHTML.cxx
index e17ba116c..948617184 100644
--- a/lexers/LexHTML.cxx
+++ b/lexers/LexHTML.cxx
@@ -58,7 +58,7 @@ inline bool IsOperator(int ch) {
static void GetTextSegment(Accessor &styler, Sci_PositionU start, Sci_PositionU end, char *s, size_t len) {
Sci_PositionU i = 0;
for (; (i < end - start + 1) && (i < len-1); i++) {
- s[i] = static_cast<char>(MakeLowerCase(styler[start + i]));
+ s[i] = MakeLowerCase(styler[start + i]);
}
s[i] = '\0';
}
@@ -267,7 +267,7 @@ static int classifyTagHTML(Sci_PositionU start, Sci_PositionU end,
for (Sci_PositionU cPos = start; cPos <= end && i < 30; cPos++) {
char ch = styler[cPos];
if ((ch != '<') && (ch != '/')) {
- withSpace[i++] = caseSensitive ? ch : static_cast<char>(MakeLowerCase(ch));
+ withSpace[i++] = caseSensitive ? ch : MakeLowerCase(ch);
}
}
diff --git a/lexlib/CharacterSet.cxx b/lexlib/CharacterSet.cxx
index 791177fcc..2a1dabc1c 100644
--- a/lexlib/CharacterSet.cxx
+++ b/lexlib/CharacterSet.cxx
@@ -18,8 +18,8 @@ namespace Scintilla {
int CompareCaseInsensitive(const char *a, const char *b) {
while (*a && *b) {
if (*a != *b) {
- const char upperA = static_cast<char>(MakeUpperCase(*a));
- const char upperB = static_cast<char>(MakeUpperCase(*b));
+ const char upperA = MakeUpperCase(*a);
+ const char upperB = MakeUpperCase(*b);
if (upperA != upperB)
return upperA - upperB;
}
@@ -33,8 +33,8 @@ int CompareCaseInsensitive(const char *a, const char *b) {
int CompareNCaseInsensitive(const char *a, const char *b, size_t len) {
while (*a && *b && len) {
if (*a != *b) {
- const char upperA = static_cast<char>(MakeUpperCase(*a));
- const char upperB = static_cast<char>(MakeUpperCase(*b));
+ const char upperA = MakeUpperCase(*a);
+ const char upperB = MakeUpperCase(*b);
if (upperA != upperB)
return upperA - upperB;
}
diff --git a/lexlib/CharacterSet.h b/lexlib/CharacterSet.h
index be906ceaa..5965f38ca 100644
--- a/lexlib/CharacterSet.h
+++ b/lexlib/CharacterSet.h
@@ -167,16 +167,18 @@ inline bool isoperator(int ch) {
return false;
}
-// Simple case functions for ASCII.
+// Simple case functions for ASCII supersets.
-inline int MakeUpperCase(int ch) {
+template <typename T>
+inline T MakeUpperCase(T ch) {
if (ch < 'a' || ch > 'z')
return ch;
else
- return static_cast<char>(ch - 'a' + 'A');
+ return ch - 'a' + 'A';
}
-inline int MakeLowerCase(int ch) {
+template <typename T>
+inline T MakeLowerCase(T ch) {
if (ch < 'A' || ch > 'Z')
return ch;
else
diff --git a/src/EditView.cxx b/src/EditView.cxx
index e4e82fd75..f1d607c8a 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -433,15 +433,15 @@ void EditView::LayoutLine(const EditModel &model, Sci::Line line, Surface *surfa
for (int charInLine = 0; charInLine<lineLength; charInLine++) {
const char chDoc = ll->chars[charInLine];
if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseUpper)
- ll->chars[charInLine] = static_cast<char>(MakeUpperCase(chDoc));
+ ll->chars[charInLine] = MakeUpperCase(chDoc);
else if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseLower)
- ll->chars[charInLine] = static_cast<char>(MakeLowerCase(chDoc));
+ ll->chars[charInLine] = MakeLowerCase(chDoc);
else if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseCamel) {
if ((model.pdoc->IsASCIIWordByte(ll->chars[charInLine])) &&
((charInLine == 0) || (!model.pdoc->IsASCIIWordByte(ll->chars[charInLine - 1])))) {
- ll->chars[charInLine] = static_cast<char>(MakeUpperCase(chDoc));
+ ll->chars[charInLine] = MakeUpperCase(chDoc);
} else {
- ll->chars[charInLine] = static_cast<char>(MakeLowerCase(chDoc));
+ ll->chars[charInLine] = MakeLowerCase(chDoc);
}
}
}