diff options
author | Gunnar Beutner <gbeutner@serenityos.org> | 2021-06-13 09:15:00 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-06-13 18:52:58 +0200 |
commit | d476144565c29a041b48fa21c734fd71d4508fe8 (patch) | |
tree | efe460d4aae55764860f2af0a9ccf77a677da553 /Userland/Libraries/LibJS/Lexer.h | |
parent | 6ab48d612a0fbf7670accd07d3c48465d7bfa424 (diff) | |
download | serenity-d476144565c29a041b48fa21c734fd71d4508fe8.zip |
Userland: Allow building SerenityOS with -funsigned-char
Some of the code assumed that chars were always signed while that is
not the case on ARM hosts.
Also, some of the code tried to use EOF (-1) in a way similar to what
fgetc() does, however instead of storing the characters in an int
variable a char was used.
While this seemed to work it also meant that character 0xFF would be
incorrectly seen as an end-of-file.
Careful reading of fgetc() reveals that fgetc() stores character
data in an int where valid characters are in the range of 0-255 and
the EOF value is explicitly outside of that range (usually -1).
Diffstat (limited to 'Userland/Libraries/LibJS/Lexer.h')
-rw-r--r-- | Userland/Libraries/LibJS/Lexer.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Lexer.h b/Userland/Libraries/LibJS/Lexer.h index 7541ff7fce..616014499a 100644 --- a/Userland/Libraries/LibJS/Lexer.h +++ b/Userland/Libraries/LibJS/Lexer.h @@ -46,6 +46,7 @@ private: size_t m_position { 0 }; Token m_current_token; char m_current_char { 0 }; + bool m_eof { false }; StringView m_filename; size_t m_line_number { 1 }; |