Compare commits

...

2 Commits

Author SHA1 Message Date
Algjs 33a7108e22
Merge 46b278e94f into 87d8f0961a 2024-02-29 18:21:02 +00:00
Algjs 46b278e94f Added single & multi line comment support 2024-02-29 20:20:52 +02:00
1 changed files with 27 additions and 2 deletions

29
cJSON.c
View File

@ -1052,9 +1052,34 @@ static parse_buffer *buffer_skip_whitespace(parse_buffer * const buffer)
return buffer;
}
while (can_access_at_index(buffer, 0) && (buffer_at_offset(buffer)[0] <= 32))
while (true)
{
buffer->offset++;
while (can_access_at_index(buffer, 0) && (buffer_at_offset(buffer)[0] <= 32))
{
buffer->offset++;
}
/* exit loop if no comment found */
if (cannot_access_at_index(buffer, 1) || buffer_at_offset(buffer)[0] != '/' || (buffer_at_offset(buffer)[1] != '*' && buffer_at_offset(buffer)[1] != '/')) break;
/* remove comment */
buffer->offset+=2;
if (buffer_at_offset(buffer)[-1] == '/')
{ /* '/' '/' single-line comment */
while (can_access_at_index(buffer, 0) && (buffer_at_offset(buffer)[0] != '\r' && buffer_at_offset(buffer)[0] != '\n'))
{
buffer->offset++;
}
}
else
{ /* '/' '*' multi-line comment */
while (can_access_at_index(buffer, 1) && buffer_at_offset(buffer)[0] != '*' && buffer_at_offset(buffer)[1] != '/')
{
buffer->offset++;
}
}
buffer->offset++;
}
if (buffer->offset == buffer->length)