Branch Coverage

reader.c
Criterion Covered Total %
branch 99 158 62.6


line true false branch
53 218 2 && parser->raw_buffer.last - parser->raw_buffer.pointer < 3) {
110 108 && parser->raw_buffer.last - parser->raw_buffer.pointer < 3) {
54 0 110 if (!yaml_parser_update_raw_buffer(parser)) {
61 108 2 if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 2
62 1 107 && !memcmp(parser->raw_buffer.pointer, BOM_UTF16LE, 2)) {
67 107 2 else if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 2
68 1 106 && !memcmp(parser->raw_buffer.pointer, BOM_UTF16BE, 2)) {
73 106 2 else if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 3
74 0 106 && !memcmp(parser->raw_buffer.pointer, BOM_UTF8, 3)) {
97 112 103 if (parser->raw_buffer.start == parser->raw_buffer.pointer
98 0 112 && parser->raw_buffer.last == parser->raw_buffer.end)
103 2 213 if (parser->eof)
108 103 110 if (parser->raw_buffer.start < parser->raw_buffer.pointer
109 0 103 && parser->raw_buffer.pointer < parser->raw_buffer.last) {
119 0 213 if (!parser->read_handler(parser->read_handler_data, parser->raw_buffer.last,
125 105 108 if (!size_read) {
144 0 357 assert(parser->read_handler); /* Read handler must be set. */
148 144 213 if (parser->eof && parser->raw_buffer.pointer == parser->raw_buffer.last)
144 0 if (parser->eof && parser->raw_buffer.pointer == parser->raw_buffer.last)
153 0 213 if (parser->unread >= length)
158 110 103 if (!parser->encoding) {
159 0 110 if (!yaml_parser_determine_encoding(parser))
165 103 110 if (parser->buffer.start < parser->buffer.pointer
166 103 0 && parser->buffer.pointer < parser->buffer.last) {
172 110 0 else if (parser->buffer.pointer == parser->buffer.last) {
179 213 107 while (parser->unread < length)
183 213 0 if (!first || parser->raw_buffer.pointer == parser->raw_buffer.last) {
105 108 if (!first || parser->raw_buffer.pointer == parser->raw_buffer.last) {
184 0 105 if (!yaml_parser_update_raw_buffer(parser))
191 4834 212 while (parser->raw_buffer.pointer != parser->raw_buffer.last)
230 67 4755 width = (octet & 0x80) == 0x00 ? 1 :
231 57 10 (octet & 0xE0) == 0xC0 ? 2 :
232 0 57 (octet & 0xF0) == 0xE0 ? 3 :
233 0 0 (octet & 0xF8) == 0xF0 ? 4 : 0;
237 0 4822 if (!width)
244 0 4822 if (width > raw_unread) {
245 0 0 if (parser->eof) {
256 4755 67 value = (octet & 0x80) == 0x00 ? octet & 0x7F :
257 10 57 (octet & 0xE0) == 0xC0 ? octet & 0x1F :
258 57 0 (octet & 0xF0) == 0xE0 ? octet & 0x0F :
259 0 0 (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0;
263 124 4822 for (k = 1; k < width; k ++)
269 0 124 if ((octet & 0xC0) != 0x80)
281 67 4755 if (!((width == 1) ||
10 57 if (!((width == 1) ||
0 0 if (!((width == 1) ||
282 0 10 (width == 2 && value >= 0x80) ||
57 0 (width == 2 && value >= 0x80) ||
283 0 57 (width == 3 && value >= 0x800) ||
284 0 0 (width == 4 && value >= 0x10000)))
291 0 4822 if ((value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF)
0 0 if ((value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF)
0 4822 if ((value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF)
332 0 12 if (raw_unread < 2) {
333 0 0 if (parser->eof) {
349 0 12 if ((value & 0xFC00) == 0xDC00)
356 0 12 if ((value & 0xFC00) == 0xD800) {
362 0 0 if (raw_unread < 4) {
363 0 0 if (parser->eof) {
379 0 0 if ((value2 & 0xFC00) != 0xDC00)
401 0 4834 if (incomplete) break;
410 4834 0 if (! (value == 0x09 || value == 0x0A || value == 0x0D
4479 355 if (! (value == 0x09 || value == 0x0A || value == 0x0D
4479 0 if (! (value == 0x09 || value == 0x0A || value == 0x0D
0 4 if (! (value == 0x09 || value == 0x0A || value == 0x0D
411 4475 4 || (value >= 0x20 && value <= 0x7E)
69 4406 || (value >= 0x20 && value <= 0x7E)
412 73 0 || (value == 0x85) || (value >= 0xA0 && value <= 0xD7FF)
69 4 || (value == 0x85) || (value >= 0xA0 && value <= 0xD7FF)
0 69 || (value == 0x85) || (value >= 0xA0 && value <= 0xD7FF)
413 0 4 || (value >= 0xE000 && value <= 0xFFFD)
0 0 || (value >= 0xE000 && value <= 0xFFFD)
414 0 0 || (value >= 0x10000 && value <= 0x10FFFF))) {
418 1 3 if (!parser->problem_nonstrict)
430 4764 69 if (value <= 0x7F) {
434 12 57 else if (value <= 0x7FF) {
439 57 0 else if (value <= 0xFFFF) {
457 105 107 if (parser->eof) {
465 0 107 if (parser->offset >= MAX_FILE_SIZE) {