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/Document.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/Document.h') diff --git a/src/Document.h b/src/Document.h index d5d0a4d2e..387af74f0 100644 --- a/src/Document.h +++ b/src/Document.h @@ -290,6 +290,7 @@ public: void SCI_METHOD SetErrorStatus(int status) override; Sci_Position SCI_METHOD LineFromPosition(Sci_Position pos) const override; + Sci::Line SciLineFromPosition(Sci::Position pos) const; // Avoids casting LineFromPosition Sci::Position ClampPositionIntoDocument(Sci::Position pos) const; bool ContainsLineEnd(const char *s, Sci::Position length) const { return cb.ContainsLineEnd(s, length); } bool IsCrLf(Sci::Position pos) const; @@ -360,10 +361,10 @@ public: char CharAt(Sci::Position position) const { return cb.CharAt(position); } void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const override { - cb.GetCharRange(buffer, static_cast(position), static_cast(lengthRetrieve)); + cb.GetCharRange(buffer, position, lengthRetrieve); } - char SCI_METHOD StyleAt(Sci_Position position) const override { return cb.StyleAt(static_cast(position)); } - int StyleIndexAt(Sci_Position position) const { return static_cast(cb.StyleAt(static_cast(position))); } + char SCI_METHOD StyleAt(Sci_Position position) const override { return cb.StyleAt(position); } + int StyleIndexAt(Sci_Position position) const { return static_cast(cb.StyleAt(position)); } void GetStyleRange(unsigned char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const { cb.GetStyleRange(buffer, position, lengthRetrieve); } -- cgit v1.2.3