diff --git a/src/lexer.cpp b/src/lexer.cpp index 33a25fe0..60807907 100644 --- a/src/lexer.cpp +++ b/src/lexer.cpp @@ -292,12 +292,12 @@ static bool is_unicode_Lo_char(uint32_t c) { char* p_end; try{ - float_out = std::strtod(text.begin(), &p_end); + float_out = std::strtod(text.data(), &p_end); }catch(...){ SyntaxError("invalid number literal"); } - if(p_end == text.end()){ + if(p_end == text.data() + text.size()){ add_token(TK("@num"), (f64)float_out); return; } diff --git a/src/pocketpy.cpp b/src/pocketpy.cpp index 10ac5e43..fac6064e 100644 --- a/src/pocketpy.cpp +++ b/src/pocketpy.cpp @@ -502,7 +502,7 @@ void init_builtins(VM* _vm) { double float_out; char* p_end; try{ - float_out = std::strtod(s.begin(), &p_end); + float_out = std::strtod(s.data, &p_end); PK_ASSERT(p_end == s.end()); }catch(...){ vm->ValueError("invalid literal for float(): " + s.escape());