Address remaining scoped storage regressions

- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
This commit is contained in:
Fredia Huya-Kouadio
2022-07-25 15:47:31 -07:00
parent c3dc887c41
commit 9679c67904
7 changed files with 81 additions and 38 deletions

View File

@ -1220,16 +1220,10 @@ Vector<uint8_t> File::get_buffer(int64_t p_length) const {
String File::get_as_text() const {
ERR_FAIL_COND_V_MSG(f.is_null(), String(), "File must be opened before use, or is lacking read-write permission.");
String text;
uint64_t original_pos = f->get_position();
const_cast<FileAccess *>(*f)->seek(0);
String l = get_line();
while (!eof_reached()) {
text += l + "\n";
l = get_line();
}
text += l;
String text = f->get_as_utf8_string();
const_cast<FileAccess *>(*f)->seek(original_pos);