From a29a92c614ae03f4058f0e63899350d83c43d670 Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 19 Apr 2018 17:09:27 +1000 Subject: Casting changed in many places, due to change to 64-bit variables for 64-bit builds. Some of the changes ensure no truncation while others remove casts that are no longer needed because the externally visible Sci_Position is now identical to Sci::Position. Some extra methods (CellBuffer::UCharAt and Document::SciLineFromPosition) added to avoid casting in client code. Sci::Line is currently identical to Sci::Position but it could be made smaller so lines have Sci::Line types and are cast. Some arguments widened. --- src/CellBuffer.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/CellBuffer.cxx') diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx index 697d75b54..177aa60e8 100644 --- a/src/CellBuffer.cxx +++ b/src/CellBuffer.cxx @@ -381,6 +381,10 @@ char CellBuffer::CharAt(Sci::Position position) const { return substance.ValueAt(position); } +unsigned char CellBuffer::UCharAt(Sci::Position position) const { + return static_cast(substance.ValueAt(position)); +} + void CellBuffer::GetCharRange(char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const { if (lengthRetrieve <= 0) return; @@ -424,7 +428,7 @@ const char *CellBuffer::RangePointer(Sci::Position position, Sci::Position range } Sci::Position CellBuffer::GapPosition() const { - return static_cast(substance.GapPosition()); + return substance.GapPosition(); } // The char* returned is to an allocation owned by the undo history @@ -493,7 +497,7 @@ const char *CellBuffer::DeleteChars(Sci::Position position, Sci::Position delete } Sci::Position CellBuffer::Length() const { - return static_cast(substance.Length()); + return substance.Length(); } void CellBuffer::Allocate(Sci::Position newSize) { -- cgit v1.2.3