Pull-Request: #2542
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
-c_src -diff
-parser.nit -diff
-parser_prod.nit -diff
-lexer.nit -diff
-tables_nit.c -diff
-c_src/** -diff
+/src/parser/parser.nit -diff
+/src/parser/parser_prod.nit -diff
+/src/parser/lexer.nit -diff
+/src/parser/tables_nit.c -diff
+/c_src/** -diff
tests/sav/**/*.res -whitespace
*.res -whitespace
var c = src[pos]
if not c == '<' then return new XMLError(st_loc, "Expected start of tag, got `{c}`")
pos += 1
+ if pos >= src.length then return new XMLError(st_loc, "Malformed tag")
c = src[pos]
if c == '!' then
# Special tag
# Parses an xml tag name
private fun parse_tag_name(delims: Array[Char]): String do
var idst = pos
- var c = src[pos]
var srclen = src.length
- while pos < srclen and not c.is_whitespace and not delims.has(c) do
+ while pos < srclen do
+ var c = src[pos]
+ if c.is_whitespace or delims.has(c) then break
pos += 1
- c = src[pos]
end
return src.substring(idst, pos - idst).trim
end