summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Lexer.h
diff options
context:
space:
mode:
authorGunnar Beutner <gbeutner@serenityos.org>2021-06-13 09:15:00 +0200
committerAndreas Kling <kling@serenityos.org>2021-06-13 18:52:58 +0200
commitd476144565c29a041b48fa21c734fd71d4508fe8 (patch)
treeefe460d4aae55764860f2af0a9ccf77a677da553 /Userland/Libraries/LibJS/Lexer.h
parent6ab48d612a0fbf7670accd07d3c48465d7bfa424 (diff)
downloadserenity-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.h1
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 };