summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-12-31 10:25:21 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-12-31 10:25:21 -0300
commit586e482a98702055ed7323a3e81c14392233b650 (patch)
treedb598dab3bd8e6777d3cb85be4319d589380a5fd /core
parentb60a3e72028349493effe26811725d420c7e125b (diff)
-Fix parsing of comments in VariantParser, fixes #3175
Diffstat (limited to 'core')
-rw-r--r--core/variant_parser.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp
index 43938c7594..2d5b892583 100644
--- a/core/variant_parser.cpp
+++ b/core/variant_parser.cpp
@@ -120,6 +120,20 @@ Error VariantParser::get_token(Stream *p_stream, Token& r_token, int &line, Stri
r_token.type=TK_COLON;
return OK;
};
+ case ';': {
+
+ while(true) {
+ CharType ch=p_stream->get_char();
+ if (p_stream->is_eof()) {
+ r_token.type=TK_EOF;
+ return OK;
+ }
+ if (ch=='\n')
+ break;
+ }
+
+ break;
+ };
case ',': {
r_token.type=TK_COMMA;
@@ -1591,6 +1605,18 @@ Error VariantParser::parse_tag_assign_eof(Stream *p_stream, int &line, String &r
if (p_stream->is_eof())
return ERR_FILE_EOF;
+ if (c==';') { //comment
+ while(true) {
+ CharType ch=p_stream->get_char();
+ if (p_stream->is_eof()) {
+ return ERR_FILE_EOF;
+ }
+ if (ch=='\n')
+ break;
+ }
+ continue;
+ }
+
if (c=='[' && what.length()==0) {
//it's a tag!
p_stream->saved='['; //go back one