diff options
| -rw-r--r-- | lexers/LexHTML.cxx | 4 | ||||
| -rw-r--r-- | lexlib/CharacterSet.cxx | 8 | ||||
| -rw-r--r-- | lexlib/CharacterSet.h | 10 | ||||
| -rw-r--r-- | src/EditView.cxx | 8 | 
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 c85d24492..59052b26e 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);  					}  				}  			} | 
