diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index d1ecab9484..dbb022c6e1 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -327,7 +327,7 @@ IfcCharacterEncoder::operator std::string() { UChar32 ch; const char* source = str.c_str(); - const char* limit = &*str.end(); + const char* limit = source + str.size(); bool in_extended = false; @@ -364,4 +364,4 @@ IfcCharacterEncoder::operator std::string() { #ifdef HAVE_ICU UErrorCode IfcCharacterEncoder::status = U_ZERO_ERROR; UConverter* IfcCharacterEncoder::converter = 0; -#endif \ No newline at end of file +#endif