This commit is contained in:
BrunoFiligree 2018-03-29 22:23:44 +00:00 committed by GitHub
commit 6c80612505
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 84 additions and 0 deletions

View File

@ -1185,12 +1185,54 @@ scan_number_done:
token_type scan()
{
#ifndef JSON_STRIP_COMMENTS
// read next character and ignore whitespace
do
{
get();
}
while (current == ' ' or current == '\t' or current == '\n' or current == '\r');
#else
// skip white space and comments if comment stripping enabled
while (true)
{
// first skip any whitespace
do
{
get();
}
while (current == ' ' || current == '\t' || current == '\n' || current == '\r');
// next, skip any comment
if (current == '/')
{
get();
// really a comment?
if (current == '/')
{
// skip to the end of line/file
do
{
get();
}
while (! (current == '\n' ||
current == '\r' ||
current == std::char_traits<char>::eof()));
}
else
{
// not a comment, leave it up to the rest of the code to deal with the '/'
unget();
break;
}
}
else
{
// not a comment at all, break out of the loop
break;
}
}
#endif
switch (current)
{

View File

@ -3024,12 +3024,54 @@ scan_number_done:
token_type scan()
{
#ifndef JSON_STRIP_COMMENTS
// read next character and ignore whitespace
do
{
get();
}
while (current == ' ' or current == '\t' or current == '\n' or current == '\r');
#else
// skip white space and comments if comment stripping enabled
while (true)
{
// first skip any whitespace
do
{
get();
}
while (current == ' ' || current == '\t' || current == '\n' || current == '\r');
// next, skip any comment
if (current == '/')
{
get();
// really a comment?
if (current == '/')
{
// skip to the end of line/file
do
{
get();
}
while (! (current == '\n' ||
current == '\r' ||
current == std::char_traits<char>::eof()));
}
else
{
// not a comment, leave it up to the rest of the code to deal with the '/'
unget();
break;
}
}
else
{
// not a comment at all, break out of the loop
break;
}
}
#endif
switch (current)
{