equal
deleted
inserted
replaced
186 LETag getTag() const { return fTag; } |
186 LETag getTag() const { return fTag; } |
187 const LETableReference* getParent() const { return fParent; } |
187 const LETableReference* getParent() const { return fParent; } |
188 |
188 |
189 void addOffset(size_t offset, LEErrorCode &success) { |
189 void addOffset(size_t offset, LEErrorCode &success) { |
190 if(hasBounds()) { |
190 if(hasBounds()) { |
191 if(offset > fLength) { |
191 if(offset >= fLength) { |
192 LE_DEBUG_TR("addOffset off end"); |
192 LE_DEBUG_TR("addOffset off end"); |
193 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
193 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
194 return; |
194 return; |
195 } else { |
195 } else { |
196 fLength -= offset; |
196 fLength -= offset; |
201 |
201 |
202 size_t ptrToOffset(const void *atPtr, LEErrorCode &success) const { |
202 size_t ptrToOffset(const void *atPtr, LEErrorCode &success) const { |
203 if(atPtr==NULL) return 0; |
203 if(atPtr==NULL) return 0; |
204 if(LE_FAILURE(success)) return LE_UINTPTR_MAX; |
204 if(LE_FAILURE(success)) return LE_UINTPTR_MAX; |
205 if((atPtr < fStart) || |
205 if((atPtr < fStart) || |
206 (hasBounds() && (atPtr > fStart+fLength))) { |
206 (hasBounds() && (atPtr >= fStart+fLength))) { |
207 LE_DEBUG_TR3("ptrToOffset args out of range: %p", atPtr, 0); |
207 LE_DEBUG_TR3("ptrToOffset args out of range: %p", atPtr, 0); |
208 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
208 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
209 return LE_UINTPTR_MAX; |
209 return LE_UINTPTR_MAX; |
210 } |
210 } |
211 return ((const le_uint8*)atPtr)-fStart; |
211 return ((const le_uint8*)atPtr)-fStart; |