| line |
true |
false |
branch |
|
145
|
51 |
0 |
if (pool->size < pool->asize && |
|
|
39 |
12 |
if (pool->size < pool->asize && |
|
167
|
6 |
0 |
while (i < src->size) { |
|
169
|
115 |
6 |
while (i < src->size && src->data[i] != '\\') |
|
|
115 |
0 |
while (i < src->size && src->data[i] != '\\') |
|
172
|
6 |
0 |
if (i > org) |
|
175
|
0 |
6 |
if (i + 1 >= src->size) |
|
189
|
6 |
6 |
for (i = 0; i < length; ++i) |
|
217
|
3 |
0 |
while (ref != NULL) { |
|
218
|
0 |
3 |
if (ref->id == hash) |
|
232
|
56 |
7 |
for (i = 0; i < REF_TABLE_SIZE; ++i) { |
|
236
|
3 |
56 |
while (r) { |
|
260
|
0 |
0 |
if (!item) |
|
264
|
0 |
0 |
if (list->head == NULL) { |
|
283
|
0 |
0 |
while (item != NULL) { |
|
284
|
0 |
0 |
if (item->ref->id == hash) |
|
305
|
0 |
1 |
while (item) { |
|
|
0 |
1 |
while (item) { |
|
307
|
0 |
0 |
if (free_refs) |
|
337
|
0 |
0 |
while (i < size && _isspace(data[i])) i++; |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) i++; |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) i++; |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) i++; |
|
352
|
0 |
0 |
while (i < size && data[i] != '\n') i++; |
|
|
0 |
0 |
while (i < size && data[i] != '\n') i++; |
|
355
|
0 |
0 |
if (i >= size) break; |
|
357
|
0 |
0 |
if (!(i > 0 && data[i-1] == ' ')) |
|
|
0 |
0 |
if (!(i > 0 && data[i-1] == ' ')) |
|
375
|
0 |
0 |
for (i = 0; i < size; ++i) { |
|
376
|
0 |
0 |
if (isalnum(data[i])) |
|
389
|
0 |
0 |
return (nb == 1) ? i + 1 : 0; |
|
406
|
2 |
0 |
if (size < 3) return 0; |
|
408
|
2 |
0 |
if (data[0] != '<') return 0; |
|
411
|
2 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
|
0 |
2 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
|
0 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
|
0 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
414
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
419
|
0 |
0 |
if (i <= size) |
|
424
|
1 |
1 |
i = (data[1] == '/') ? 2 : 1; |
|
426
|
2 |
0 |
if (!isalnum(data[i])) |
|
433
|
4 |
0 |
while (i < size && (isalnum(data[i]) || data[i] == '.' || data[i] == '+' || data[i] == '-')) |
|
|
2 |
2 |
while (i < size && (isalnum(data[i]) || data[i] == '.' || data[i] == '+' || data[i] == '-')) |
|
|
0 |
2 |
while (i < size && (isalnum(data[i]) || data[i] == '.' || data[i] == '+' || data[i] == '-')) |
|
|
0 |
2 |
while (i < size && (isalnum(data[i]) || data[i] == '.' || data[i] == '+' || data[i] == '-')) |
|
|
0 |
2 |
while (i < size && (isalnum(data[i]) || data[i] == '.' || data[i] == '+' || data[i] == '-')) |
|
436
|
2 |
0 |
if (i > 1 && data[i] == '@') { |
|
|
0 |
2 |
if (i > 1 && data[i] == '@') { |
|
437
|
0 |
0 |
if ((j = is_mail_autolink(data + i, size - i)) != 0) { |
|
443
|
1 |
1 |
if (i > 2 && data[i] == ':') { |
|
|
0 |
1 |
if (i > 2 && data[i] == ':') { |
|
449
|
0 |
2 |
if (i >= size) |
|
452
|
0 |
2 |
else if (*autolink) { |
|
455
|
0 |
0 |
while (i < size) { |
|
456
|
0 |
0 |
if (data[i] == '\\') i += 2; |
|
457
|
0 |
0 |
else if (data[i] == '>' || data[i] == '\'' || |
|
|
0 |
0 |
else if (data[i] == '>' || data[i] == '\'' || |
|
458
|
0 |
0 |
data[i] == '"' || data[i] == ' ' || data[i] == '\n') |
|
|
0 |
0 |
data[i] == '"' || data[i] == ' ' || data[i] == '\n') |
|
463
|
0 |
0 |
if (i >= size) return 0; |
|
464
|
0 |
0 |
if (i > j && data[i] == '>') return i + 1; |
|
|
0 |
0 |
if (i > j && data[i] == '>') return i + 1; |
|
470
|
2 |
0 |
while (i < size && data[i] != '>') i++; |
|
|
0 |
2 |
while (i < size && data[i] != '>') i++; |
|
471
|
2 |
0 |
if (i >= size) return 0; |
|
483
|
33 |
0 |
if (doc->work_bufs[BUFFER_SPAN].size + |
|
487
|
51 |
2 |
while (i < size) { |
|
489
|
219 |
31 |
while (end < size && active_char[data[end]] == 0) |
|
|
199 |
20 |
while (end < size && active_char[data[end]] == 0) |
|
492
|
51 |
0 |
if (doc->md.normal_text) { |
|
500
|
20 |
31 |
if (end >= size) break; |
|
504
|
8 |
12 |
if (!end) /* no action from the callback */ |
|
519
|
2 |
0 |
while (i >= 1 && data[i - 1] == '\\') |
|
|
0 |
2 |
while (i >= 1 && data[i - 1] == '\\') |
|
|
0 |
0 |
while (i >= 1 && data[i - 1] == '\\') |
|
|
0 |
0 |
while (i >= 1 && data[i - 1] == '\\') |
|
|
7 |
0 |
while (i >= 1 && data[i - 1] == '\\') |
|
|
0 |
7 |
while (i >= 1 && data[i - 1] == '\\') |
|
532
|
7 |
0 |
while (i < size) { |
|
533
|
52 |
0 |
while (i < size && data[i] != c && data[i] != '[' && data[i] != '`') |
|
|
45 |
7 |
while (i < size && data[i] != c && data[i] != '[' && data[i] != '`') |
|
|
45 |
0 |
while (i < size && data[i] != c && data[i] != '[' && data[i] != '`') |
|
|
45 |
0 |
while (i < size && data[i] != c && data[i] != '[' && data[i] != '`') |
|
536
|
7 |
0 |
if (i == size) |
|
540
|
0 |
7 |
if (is_escaped(data, i)) { |
|
544
|
0 |
7 |
if (data[i] == c) |
|
548
|
0 |
0 |
if (data[i] == '`') { |
|
553
|
0 |
0 |
while (i < size && data[i] == '`') { |
|
|
0 |
0 |
while (i < size && data[i] == '`') { |
|
557
|
0 |
0 |
if (i >= size) return 0; |
|
561
|
0 |
0 |
while (i < size && bt < span_nb) { |
|
562
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
563
|
0 |
0 |
if (data[i] == '`') bt++; |
|
569
|
0 |
0 |
if (bt < span_nb && i >= size) return tmp_i; |
|
572
|
0 |
0 |
else if (data[i] == '[') { |
|
577
|
0 |
0 |
while (i < size && data[i] != ']') { |
|
|
0 |
0 |
while (i < size && data[i] != ']') { |
|
578
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
583
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
586
|
0 |
0 |
if (i >= size) |
|
597
|
0 |
0 |
if (tmp_i) |
|
604
|
0 |
0 |
while (i < size && data[i] != cc) { |
|
|
0 |
0 |
while (i < size && data[i] != cc) { |
|
605
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
609
|
0 |
0 |
if (i >= size) |
|
629
|
1 |
0 |
if (size > 1 && data[0] == c && data[1] == c) i = 1; |
|
|
0 |
1 |
if (size > 1 && data[0] == c && data[1] == c) i = 1; |
|
|
0 |
0 |
if (size > 1 && data[0] == c && data[1] == c) i = 1; |
|
631
|
1 |
0 |
while (i < size) { |
|
633
|
1 |
0 |
if (!len) return 0; |
|
635
|
1 |
0 |
if (i >= size) return 0; |
|
637
|
1 |
0 |
if (data[i] == c && !_isspace(data[i - 1])) { |
|
|
1 |
0 |
if (data[i] == c && !_isspace(data[i - 1])) { |
|
639
|
0 |
1 |
if (doc->ext_flags & HOEDOWN_EXT_NO_INTRA_EMPHASIS) { |
|
640
|
0 |
0 |
if (i + 1 < size && isalnum(data[i + 1])) |
|
|
0 |
0 |
if (i + 1 < size && isalnum(data[i + 1])) |
|
647
|
1 |
0 |
if (doc->ext_flags & HOEDOWN_EXT_UNDERLINE && c == '_') |
|
|
1 |
0 |
if (doc->ext_flags & HOEDOWN_EXT_UNDERLINE && c == '_') |
|
653
|
1 |
0 |
return r ? i + 1 : 0; |
|
668
|
0 |
0 |
while (i < size) { |
|
670
|
0 |
0 |
if (!len) return 0; |
|
673
|
0 |
0 |
if (i + 1 < size && data[i] == c && data[i + 1] == c && i && !_isspace(data[i - 1])) { |
|
|
0 |
0 |
if (i + 1 < size && data[i] == c && data[i + 1] == c && i && !_isspace(data[i - 1])) { |
|
|
0 |
0 |
if (i + 1 < size && data[i] == c && data[i + 1] == c && i && !_isspace(data[i - 1])) { |
|
|
0 |
0 |
if (i + 1 < size && data[i] == c && data[i + 1] == c && i && !_isspace(data[i - 1])) { |
|
|
0 |
0 |
if (i + 1 < size && data[i] == c && data[i + 1] == c && i && !_isspace(data[i - 1])) { |
|
677
|
0 |
0 |
if (c == '~') |
|
679
|
0 |
0 |
else if (c == '=') |
|
685
|
0 |
0 |
return r ? i + 2 : 0; |
|
700
|
0 |
0 |
while (i < size) { |
|
702
|
0 |
0 |
if (!len) return 0; |
|
706
|
0 |
0 |
if (data[i] != c || _isspace(data[i - 1])) |
|
|
0 |
0 |
if (data[i] != c || _isspace(data[i - 1])) |
|
709
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && doc->md.triple_emphasis) { |
|
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && doc->md.triple_emphasis) { |
|
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && doc->md.triple_emphasis) { |
|
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && doc->md.triple_emphasis) { |
|
716
|
0 |
0 |
return r ? i + 3 : 0; |
|
718
|
0 |
0 |
} else if (i + 1 < size && data[i + 1] == c) { |
|
|
0 |
0 |
} else if (i + 1 < size && data[i + 1] == c) { |
|
721
|
0 |
0 |
if (!len) return 0; |
|
727
|
0 |
0 |
if (!len) return 0; |
|
741
|
0 |
0 |
if (!doc->md.math) |
|
746
|
0 |
0 |
while (i < size && data[i] != (uint8_t)end[0]) |
|
|
0 |
0 |
while (i < size && data[i] != (uint8_t)end[0]) |
|
749
|
0 |
0 |
if (i >= size) |
|
752
|
0 |
0 |
if (!is_escaped(data, i) && !(i + delimsz > size) |
|
|
0 |
0 |
if (!is_escaped(data, i) && !(i + delimsz > size) |
|
753
|
0 |
0 |
&& memcmp(data + i, end, delimsz) == 0) |
|
766
|
0 |
0 |
if (delimsz == 2 && !(doc->ext_flags & HOEDOWN_EXT_MATH_EXPLICIT)) |
|
|
0 |
0 |
if (delimsz == 2 && !(doc->ext_flags & HOEDOWN_EXT_MATH_EXPLICIT)) |
|
767
|
0 |
0 |
displaymode = is_empty_all(data - offset, offset) && is_empty_all(data + i, size - i); |
|
|
0 |
0 |
displaymode = is_empty_all(data - offset, offset) && is_empty_all(data + i, size - i); |
|
770
|
0 |
0 |
if (doc->md.math(ob, &text, displaymode, &doc->data)) |
|
783
|
0 |
1 |
if (doc->ext_flags & HOEDOWN_EXT_NO_INTRA_EMPHASIS) { |
|
784
|
0 |
0 |
if (offset > 0 && !_isspace(data[-1]) && data[-1] != '>' && data[-1] != '(') |
|
|
0 |
0 |
if (offset > 0 && !_isspace(data[-1]) && data[-1] != '>' && data[-1] != '(') |
|
|
0 |
0 |
if (offset > 0 && !_isspace(data[-1]) && data[-1] != '>' && data[-1] != '(') |
|
|
0 |
0 |
if (offset > 0 && !_isspace(data[-1]) && data[-1] != '>' && data[-1] != '(') |
|
788
|
1 |
0 |
if (size > 2 && data[1] != c) { |
|
|
1 |
0 |
if (size > 2 && data[1] != c) { |
|
791
|
1 |
0 |
if (c == '~' || c == '=' || _isspace(data[1]) || (ret = parse_emph1(ob, doc, data + 1, size - 1, c)) == 0) |
|
|
1 |
0 |
if (c == '~' || c == '=' || _isspace(data[1]) || (ret = parse_emph1(ob, doc, data + 1, size - 1, c)) == 0) |
|
|
1 |
0 |
if (c == '~' || c == '=' || _isspace(data[1]) || (ret = parse_emph1(ob, doc, data + 1, size - 1, c)) == 0) |
|
797
|
0 |
0 |
if (size > 3 && data[1] == c && data[2] != c) { |
|
|
0 |
0 |
if (size > 3 && data[1] == c && data[2] != c) { |
|
|
0 |
0 |
if (size > 3 && data[1] == c && data[2] != c) { |
|
798
|
0 |
0 |
if (_isspace(data[2]) || (ret = parse_emph2(ob, doc, data + 2, size - 2, c)) == 0) |
|
|
0 |
0 |
if (_isspace(data[2]) || (ret = parse_emph2(ob, doc, data + 2, size - 2, c)) == 0) |
|
804
|
0 |
0 |
if (size > 4 && data[1] == c && data[2] == c && data[3] != c) { |
|
|
0 |
0 |
if (size > 4 && data[1] == c && data[2] == c && data[3] != c) { |
|
|
0 |
0 |
if (size > 4 && data[1] == c && data[2] == c && data[3] != c) { |
|
|
0 |
0 |
if (size > 4 && data[1] == c && data[2] == c && data[3] != c) { |
|
805
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[3]) || (ret = parse_emph3(ob, doc, data + 3, size - 3, c)) == 0) |
|
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[3]) || (ret = parse_emph3(ob, doc, data + 3, size - 3, c)) == 0) |
|
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[3]) || (ret = parse_emph3(ob, doc, data + 3, size - 3, c)) == 0) |
|
819
|
2 |
5 |
if (offset < 2 || data[-1] != ' ' || data[-2] != ' ') |
|
|
0 |
2 |
if (offset < 2 || data[-1] != ' ' || data[-2] != ' ') |
|
|
0 |
0 |
if (offset < 2 || data[-1] != ' ' || data[-2] != ' ') |
|
823
|
0 |
0 |
while (ob->size && ob->data[ob->size - 1] == ' ') |
|
|
0 |
0 |
while (ob->size && ob->data[ob->size - 1] == ' ') |
|
838
|
2 |
0 |
while (nb < size && data[nb] == '`') |
|
|
1 |
1 |
while (nb < size && data[nb] == '`') |
|
843
|
7 |
1 |
for (end = nb; end < size && i < nb; end++) { |
|
844
|
1 |
6 |
if (data[end] == '`') i++; |
|
848
|
1 |
0 |
if (i < nb && end >= size) |
|
853
|
1 |
0 |
while (f_begin < end && data[f_begin] == ' ') |
|
|
0 |
1 |
while (f_begin < end && data[f_begin] == ' ') |
|
857
|
1 |
0 |
while (f_end > nb && data[f_end-1] == ' ') |
|
|
0 |
1 |
while (f_end > nb && data[f_end-1] == ' ') |
|
861
|
1 |
0 |
if (f_begin < f_end) { |
|
865
|
0 |
1 |
if (!doc->md.codespan(ob, &work, &doc->data)) |
|
868
|
0 |
0 |
if (!doc->md.codespan(ob, 0, &doc->data)) |
|
882
|
0 |
0 |
while (nq < size && data[nq] == '"') |
|
|
0 |
0 |
while (nq < size && data[nq] == '"') |
|
890
|
0 |
0 |
if (end == i) return 0; /* no matching delimiter */ |
|
892
|
0 |
0 |
while (end < size && data[end] == '"' && end - i < nq) end++; |
|
|
0 |
0 |
while (end < size && data[end] == '"' && end - i < nq) end++; |
|
|
0 |
0 |
while (end < size && data[end] == '"' && end - i < nq) end++; |
|
893
|
0 |
0 |
if (end - i >= nq) break; |
|
898
|
0 |
0 |
while (f_begin < end && data[f_begin] == ' ') |
|
|
0 |
0 |
while (f_begin < end && data[f_begin] == ' ') |
|
902
|
0 |
0 |
while (f_end > nq && data[f_end-1] == ' ') |
|
|
0 |
0 |
while (f_end > nq && data[f_end-1] == ' ') |
|
906
|
0 |
0 |
if (f_begin < f_end) { |
|
910
|
0 |
0 |
if (!doc->md.quote(ob, work, &doc->data)) |
|
914
|
0 |
0 |
if (!doc->md.quote(ob, 0, &doc->data)) |
|
930
|
0 |
0 |
if (size > 1) { |
|
931
|
0 |
0 |
if (data[1] == '\\' && (doc->ext_flags & HOEDOWN_EXT_MATH) && |
|
|
0 |
0 |
if (data[1] == '\\' && (doc->ext_flags & HOEDOWN_EXT_MATH) && |
|
|
0 |
0 |
if (data[1] == '\\' && (doc->ext_flags & HOEDOWN_EXT_MATH) && |
|
932
|
0 |
0 |
size > 2 && (data[2] == '(' || data[2] == '[')) { |
|
933
|
0 |
0 |
const char *end = (data[2] == '[') ? "\\\\]" : "\\\\)"; |
|
935
|
0 |
0 |
if (w) return w; |
|
938
|
0 |
0 |
if (strchr(escape_chars, data[1]) == NULL) |
|
|
0 |
0 |
if (strchr(escape_chars, data[1]) == NULL) |
|
|
0 |
0 |
if (strchr(escape_chars, data[1]) == NULL) |
|
941
|
0 |
0 |
if (doc->md.normal_text) { |
|
947
|
0 |
0 |
} else if (size == 1) { |
|
948
|
0 |
0 |
if (doc->md.normal_text) { |
|
967
|
1 |
0 |
if (end < size && data[end] == '#') |
|
|
0 |
1 |
if (end < size && data[end] == '#') |
|
970
|
1 |
0 |
while (end < size && isalnum(data[end])) |
|
|
0 |
1 |
while (end < size && isalnum(data[end])) |
|
973
|
1 |
0 |
if (end < size && data[end] == ';') |
|
|
0 |
1 |
if (end < size && data[end] == ';') |
|
978
|
0 |
0 |
if (doc->md.entity) { |
|
1000
|
2 |
0 |
if (end > 2) { |
|
1001
|
2 |
0 |
if (doc->md.autolink && altype != HOEDOWN_AUTOLINK_NONE) { |
|
|
0 |
2 |
if (doc->md.autolink && altype != HOEDOWN_AUTOLINK_NONE) { |
|
1009
|
2 |
0 |
else if (doc->md.raw_html) |
|
1013
|
2 |
0 |
if (!ret) return 0; |
|
1023
|
0 |
0 |
if (!doc->md.link || doc->in_link_body) |
|
|
0 |
0 |
if (!doc->md.link || doc->in_link_body) |
|
1028
|
0 |
0 |
if ((link_len = hoedown_autolink__www(&rewind, link, data, offset, size, HOEDOWN_AUTOLINK_SHORT_DOMAINS)) > 0) { |
|
1033
|
0 |
0 |
if (ob->size > rewind) |
|
1038
|
0 |
0 |
if (doc->md.normal_text) { |
|
1059
|
0 |
0 |
if (!doc->md.autolink || doc->in_link_body) |
|
|
0 |
0 |
if (!doc->md.autolink || doc->in_link_body) |
|
1064
|
0 |
0 |
if ((link_len = hoedown_autolink__email(&rewind, link, data, offset, size, 0)) > 0) { |
|
1065
|
0 |
0 |
if (ob->size > rewind) |
|
1083
|
2 |
0 |
if (!doc->md.autolink || doc->in_link_body) |
|
|
2 |
0 |
if (!doc->md.autolink || doc->in_link_body) |
|
1088
|
2 |
0 |
if ((link_len = hoedown_autolink__url(&rewind, link, data, offset, size, 0)) > 0) { |
|
1089
|
1 |
1 |
if (ob->size > rewind) |
|
1105
|
2 |
0 |
if (size < 2 || data[1] != '[') return 0; |
|
|
2 |
0 |
if (size < 2 || data[1] != '[') return 0; |
|
1108
|
2 |
0 |
if (!ret) return 0; |
|
1116
|
6 |
0 |
int is_img = (offset && data[-1] == '!' && !is_escaped(data - offset, offset - 1)); |
|
|
2 |
4 |
int is_img = (offset && data[-1] == '!' && !is_escaped(data - offset, offset - 1)); |
|
|
0 |
2 |
int is_img = (offset && data[-1] == '!' && !is_escaped(data - offset, offset - 1)); |
|
1117
|
6 |
0 |
int is_footnote = (doc->ext_flags & HOEDOWN_EXT_FOOTNOTES && data[1] == '^'); |
|
|
6 |
0 |
int is_footnote = (doc->ext_flags & HOEDOWN_EXT_FOOTNOTES && data[1] == '^'); |
|
1127
|
0 |
6 |
if ((is_footnote && !doc->md.footnote_ref) || (is_img && !doc->md.image) |
|
|
0 |
0 |
if ((is_footnote && !doc->md.footnote_ref) || (is_img && !doc->md.image) |
|
|
2 |
4 |
if ((is_footnote && !doc->md.footnote_ref) || (is_img && !doc->md.image) |
|
|
2 |
0 |
if ((is_footnote && !doc->md.footnote_ref) || (is_img && !doc->md.image) |
|
1128
|
4 |
2 |
|| (!is_img && !is_footnote && !doc->md.link)) |
|
|
4 |
0 |
|| (!is_img && !is_footnote && !doc->md.link)) |
|
1135
|
6 |
0 |
if (i < size && data[i] == ']') i++; |
|
|
6 |
0 |
if (i < size && data[i] == ']') i++; |
|
1139
|
6 |
0 |
if (is_footnote) { |
|
1143
|
0 |
0 |
if (txt_e < 3) |
|
1152
|
0 |
0 |
if (fr && !fr->is_used) { |
|
|
0 |
0 |
if (fr && !fr->is_used) { |
|
1153
|
0 |
0 |
if(!add_footnote_ref(&doc->footnotes_used, fr)) |
|
1159
|
0 |
0 |
if (doc->md.footnote_ref) |
|
1168
|
9 |
0 |
while (i < size && _isspace(data[i])) |
|
|
3 |
6 |
while (i < size && _isspace(data[i])) |
|
1172
|
6 |
0 |
if (i < size && data[i] == '(') { |
|
|
3 |
3 |
if (i < size && data[i] == '(') { |
|
1178
|
0 |
3 |
while (i < size && _isspace(data[i])) |
|
|
0 |
3 |
while (i < size && _isspace(data[i])) |
|
1187
|
56 |
0 |
while (i < size) { |
|
1188
|
0 |
56 |
if (data[i] == '\\') i += 2; |
|
1189
|
0 |
56 |
else if (data[i] == '(' && i != 0) { |
|
|
0 |
0 |
else if (data[i] == '(' && i != 0) { |
|
1192
|
1 |
55 |
else if (data[i] == ')') { |
|
1193
|
0 |
1 |
if (nb_p == 0) break; |
|
1195
|
55 |
0 |
} else if (i >= 1 && _isspace(data[i-1]) && (data[i] == '\'' || data[i] == '"')) break; |
|
|
2 |
53 |
} else if (i >= 1 && _isspace(data[i-1]) && (data[i] == '\'' || data[i] == '"')) break; |
|
|
0 |
2 |
} else if (i >= 1 && _isspace(data[i-1]) && (data[i] == '\'' || data[i] == '"')) break; |
|
1199
|
3 |
0 |
if (i >= size) goto cleanup; |
|
1203
|
2 |
1 |
if (data[i] == '\'' || data[i] == '"') { |
|
1209
|
23 |
0 |
while (i < size) { |
|
1210
|
0 |
23 |
if (data[i] == '\\') i += 2; |
|
1211
|
2 |
21 |
else if (data[i] == qtype) {in_title = 0; i++;} |
|
1212
|
2 |
19 |
else if ((data[i] == ')') && !in_title) break; |
|
|
0 |
2 |
else if ((data[i] == ')') && !in_title) break; |
|
1216
|
2 |
0 |
if (i >= size) goto cleanup; |
|
1220
|
2 |
0 |
while (title_e > title_b && _isspace(data[title_e])) |
|
|
0 |
2 |
while (title_e > title_b && _isspace(data[title_e])) |
|
1224
|
0 |
2 |
if (data[title_e] != '\'' && data[title_e] != '"') { |
|
1231
|
5 |
0 |
while (link_e > link_b && _isspace(data[link_e - 1])) |
|
|
2 |
3 |
while (link_e > link_b && _isspace(data[link_e - 1])) |
|
1235
|
0 |
3 |
if (data[link_b] == '<' && data[link_e - 1] == '>') { |
|
|
0 |
0 |
if (data[link_b] == '<' && data[link_e - 1] == '>') { |
|
1241
|
3 |
0 |
if (link_e > link_b) { |
|
1246
|
2 |
1 |
if (title_e > title_b) { |
|
1255
|
3 |
0 |
else if (i < size && data[i] == '[') { |
|
|
3 |
0 |
else if (i < size && data[i] == '[') { |
|
1262
|
6 |
0 |
while (i < size && data[i] != ']') i++; |
|
|
3 |
3 |
while (i < size && data[i] != ']') i++; |
|
1263
|
3 |
0 |
if (i >= size) goto cleanup; |
|
1267
|
0 |
3 |
if (link_b == link_e) |
|
1273
|
3 |
0 |
if (!lr) |
|
1292
|
0 |
0 |
if (!lr) |
|
1304
|
6 |
0 |
if (txt_e > 1) { |
|
1306
|
2 |
4 |
if (is_img) { |
|
1317
|
6 |
0 |
if (link) { |
|
1323
|
2 |
4 |
if (is_img) { |
|
1332
|
6 |
0 |
return ret ? i : 0; |
|
1341
|
0 |
0 |
if (!doc->md.superscript) |
|
1344
|
0 |
0 |
if (size < 2) |
|
1347
|
0 |
0 |
if (data[1] == '(') { |
|
1351
|
0 |
0 |
if (sup_len == size) |
|
1356
|
0 |
0 |
while (sup_len < size && !_isspace(data[sup_len])) |
|
|
0 |
0 |
while (sup_len < size && !_isspace(data[sup_len])) |
|
1360
|
0 |
0 |
if (sup_len - sup_start == 0) |
|
1361
|
0 |
0 |
return (sup_start == 2) ? 3 : 0; |
|
1368
|
0 |
0 |
return (sup_start == 2) ? sup_len + 1 : sup_len; |
|
1375
|
0 |
0 |
if (size > 1 && data[1] == '$') |
|
|
0 |
0 |
if (size > 1 && data[1] == '$') |
|
1379
|
0 |
0 |
if (doc->ext_flags & HOEDOWN_EXT_MATH_EXPLICIT) |
|
1395
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
31 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
4 |
27 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
14 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
11 |
3 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
0 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
1396
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
4 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
11 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
1410
|
15 |
0 |
if (size < 3) return 0; |
|
1411
|
0 |
15 |
if (data[0] == ' ') { i++; |
|
1412
|
0 |
0 |
if (data[1] == ' ') { i++; |
|
1413
|
0 |
0 |
if (data[2] == ' ') { i++; } } } |
|
1416
|
15 |
0 |
if (i + 2 >= size |
|
1417
|
15 |
0 |
|| (data[i] != '*' && data[i] != '-' && data[i] != '_')) |
|
|
1 |
14 |
|| (data[i] != '*' && data[i] != '-' && data[i] != '_')) |
|
1422
|
2 |
0 |
while (i < size && data[i] != '\n') { |
|
|
2 |
0 |
while (i < size && data[i] != '\n') { |
|
1423
|
1 |
1 |
if (data[i] == c) n++; |
|
1424
|
0 |
1 |
else if (data[i] != ' ') |
|
1443
|
0 |
0 |
if (size < 3) |
|
1446
|
0 |
0 |
if (data[0] == ' ') { i++; |
|
1447
|
0 |
0 |
if (data[1] == ' ') { i++; |
|
1448
|
0 |
0 |
if (data[2] == ' ') { i++; } } } |
|
1452
|
0 |
0 |
if (i + 2 >= size || !(c=='~' || c=='`')) |
|
|
0 |
0 |
if (i + 2 >= size || !(c=='~' || c=='`')) |
|
1456
|
0 |
0 |
while (++i < size && data[i] == c) |
|
|
0 |
0 |
while (++i < size && data[i] == c) |
|
1459
|
0 |
0 |
if (n < 3) |
|
1462
|
0 |
0 |
if (width) *width = n; |
|
1463
|
0 |
0 |
if (chr) *chr = c; |
|
1474
|
0 |
0 |
if (i == 0) |
|
1477
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
1482
|
0 |
0 |
while (i < size && !_isspace(data[i])) |
|
|
0 |
0 |
while (i < size && !_isspace(data[i])) |
|
1490
|
0 |
0 |
while (i < size && !(data[i] == *chr && data[i-1] == *chr && data[i-2] == *chr)) i++; |
|
|
0 |
0 |
while (i < size && !(data[i] == *chr && data[i-1] == *chr && data[i-2] == *chr)) i++; |
|
|
0 |
0 |
while (i < size && !(data[i] == *chr && data[i-1] == *chr && data[i-2] == *chr)) i++; |
|
|
0 |
0 |
while (i < size && !(data[i] == *chr && data[i-1] == *chr && data[i-2] == *chr)) i++; |
|
1491
|
0 |
0 |
if (i < size) return 0; |
|
1500
|
24 |
42 |
if (data[0] != '#') |
|
1503
|
0 |
24 |
if (doc->ext_flags & HOEDOWN_EXT_SPACE_HEADERS) { |
|
1506
|
0 |
0 |
while (level < size && level < 6 && data[level] == '#') |
|
|
0 |
0 |
while (level < size && level < 6 && data[level] == '#') |
|
1509
|
0 |
0 |
if (level < size && data[level] != ' ') |
|
|
0 |
0 |
if (level < size && data[level] != ' ') |
|
1523
|
0 |
11 |
if (data[i] == '=') { |
|
1524
|
0 |
0 |
for (i = 1; i < size && data[i] == '='; i++); |
|
|
0 |
0 |
for (i = 1; i < size && data[i] == '='; i++); |
|
1525
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
1526
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 1 : 0; } |
|
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 1 : 0; } |
|
1529
|
0 |
11 |
if (data[i] == '-') { |
|
1530
|
0 |
0 |
for (i = 1; i < size && data[i] == '-'; i++); |
|
|
0 |
0 |
for (i = 1; i < size && data[i] == '-'; i++); |
|
1531
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
1532
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 2 : 0; } |
|
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 2 : 0; } |
|
1542
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
1545
|
0 |
0 |
if (++i >= size) |
|
1556
|
15 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
15 |
if (i < size && data[i] == ' ') i++; |
|
1557
|
15 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
15 |
if (i < size && data[i] == ' ') i++; |
|
1558
|
15 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
15 |
if (i < size && data[i] == ' ') i++; |
|
1560
|
15 |
0 |
if (i < size && data[i] == '>') { |
|
|
0 |
15 |
if (i < size && data[i] == '>') { |
|
1561
|
0 |
0 |
if (i + 1 < size && data[i + 1] == ' ') |
|
|
0 |
0 |
if (i + 1 < size && data[i + 1] == ' ') |
|
1574
|
4 |
0 |
if (size > 3 && data[0] == ' ' && data[1] == ' ' |
|
|
0 |
4 |
if (size > 3 && data[0] == ' ' && data[1] == ' ' |
|
|
0 |
0 |
if (size > 3 && data[0] == ' ' && data[1] == ' ' |
|
|
0 |
0 |
if (size > 3 && data[0] == ' ' && data[1] == ' ' |
|
|
0 |
0 |
if (size > 3 && data[0] == ' ' && data[1] == ' ' |
|
|
0 |
0 |
if (size > 3 && data[0] == ' ' && data[1] == ' ' |
|
1575
|
0 |
0 |
&& data[2] == ' ' && data[3] == ' ') return 4; |
|
|
0 |
0 |
&& data[2] == ' ' && data[3] == ' ') return 4; |
|
|
0 |
0 |
&& data[2] == ' ' && data[3] == ' ') return 4; |
|
|
0 |
0 |
&& data[2] == ' ' && data[3] == ' ') return 4; |
|
1586
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1587
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1588
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1590
|
4 |
0 |
if (i >= size || data[i] < '0' || data[i] > '9') |
|
|
4 |
0 |
if (i >= size || data[i] < '0' || data[i] > '9') |
|
|
0 |
4 |
if (i >= size || data[i] < '0' || data[i] > '9') |
|
1593
|
0 |
0 |
while (i < size && data[i] >= '0' && data[i] <= '9') |
|
|
0 |
0 |
while (i < size && data[i] >= '0' && data[i] <= '9') |
|
|
0 |
0 |
while (i < size && data[i] >= '0' && data[i] <= '9') |
|
1596
|
0 |
0 |
if (i + 1 >= size || data[i] != '.' || data[i + 1] != ' ') |
|
|
0 |
0 |
if (i + 1 >= size || data[i] != '.' || data[i + 1] != ' ') |
|
|
0 |
0 |
if (i + 1 >= size || data[i] != '.' || data[i + 1] != ' ') |
|
1599
|
0 |
0 |
if (is_next_headerline(data + i, size - i)) |
|
1611
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1612
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1613
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1615
|
4 |
0 |
if (i + 1 >= size || |
|
|
0 |
4 |
if (i + 1 >= size || |
|
1616
|
0 |
0 |
(data[i] != '*' && data[i] != '+' && data[i] != '-') || |
|
1620
|
0 |
0 |
if (is_next_headerline(data + i, size - i)) |
|
1642
|
0 |
0 |
while (beg < size) { |
|
1643
|
0 |
0 |
for (end = beg + 1; end < size && data[end - 1] != '\n'; end++); |
|
|
0 |
0 |
for (end = beg + 1; end < size && data[end - 1] != '\n'; end++); |
|
1647
|
0 |
0 |
if (pre) |
|
1651
|
0 |
0 |
else if (is_empty(data + beg, end - beg) && |
|
|
0 |
0 |
else if (is_empty(data + beg, end - beg) && |
|
1652
|
0 |
0 |
(end >= size || (prefix_quote(data + end, size - end) == 0 && |
|
|
0 |
0 |
(end >= size || (prefix_quote(data + end, size - end) == 0 && |
|
1656
|
0 |
0 |
if (beg < end) { /* copy into the in-place working buffer */ |
|
1658
|
0 |
0 |
if (!work_data) |
|
1660
|
0 |
0 |
else if (data + beg != work_data + work_size) |
|
1668
|
0 |
0 |
if (doc->md.blockquote) |
|
1687
|
14 |
1 |
while (i < size) { |
|
1688
|
296 |
1 |
for (end = i + 1; end < size && data[end - 1] != '\n'; end++) /* empty */; |
|
|
283 |
13 |
for (end = i + 1; end < size && data[end - 1] != '\n'; end++) /* empty */; |
|
1690
|
11 |
3 |
if (is_empty(data + i, size - i)) |
|
1693
|
11 |
0 |
if ((level = is_headerline(data + i, size - i)) != 0) |
|
1697
|
11 |
0 |
is_hrule(data + i, size - i) || |
|
1707
|
8 |
0 |
while (work.size && data[work.size - 1] == '\n') |
|
|
4 |
4 |
while (work.size && data[work.size - 1] == '\n') |
|
1710
|
4 |
0 |
if (!level) { |
|
1713
|
4 |
0 |
if (doc->md.paragraph) |
|
1719
|
0 |
0 |
if (work.size) { |
|
1724
|
0 |
0 |
while (work.size && data[work.size] != '\n') |
|
|
0 |
0 |
while (work.size && data[work.size] != '\n') |
|
1728
|
0 |
0 |
while (work.size && data[work.size - 1] == '\n') |
|
|
0 |
0 |
while (work.size && data[work.size - 1] == '\n') |
|
1731
|
0 |
0 |
if (work.size > 0) { |
|
1735
|
0 |
0 |
if (doc->md.paragraph) |
|
1748
|
0 |
0 |
if (doc->md.header) |
|
1769
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
1773
|
0 |
0 |
if (!w) |
|
1779
|
0 |
0 |
while ((line_start = i) < size) { |
|
1780
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
1784
|
0 |
0 |
if (w == w2 && width == width2 && chr == chr2 && |
|
|
0 |
0 |
if (w == w2 && width == width2 && chr == chr2 && |
|
|
0 |
0 |
if (w == w2 && width == width2 && chr == chr2 && |
|
|
0 |
0 |
if (w == w2 && width == width2 && chr == chr2 && |
|
1794
|
0 |
0 |
if (doc->md.blockcode) |
|
1795
|
0 |
0 |
doc->md.blockcode(ob, text.size ? &text : NULL, lang.size ? &lang : NULL, &doc->data); |
|
|
0 |
0 |
doc->md.blockcode(ob, text.size ? &text : NULL, lang.size ? &lang : NULL, &doc->data); |
|
1809
|
0 |
0 |
while (beg < size) { |
|
1810
|
0 |
0 |
for (end = beg + 1; end < size && data[end - 1] != '\n'; end++) {}; |
|
|
0 |
0 |
for (end = beg + 1; end < size && data[end - 1] != '\n'; end++) {}; |
|
1813
|
0 |
0 |
if (pre) |
|
1815
|
0 |
0 |
else if (!is_empty(data + beg, end - beg)) |
|
1819
|
0 |
0 |
if (beg < end) { |
|
1822
|
0 |
0 |
if (is_empty(data + beg, end - beg)) |
|
1829
|
0 |
0 |
while (work->size && work->data[work->size - 1] == '\n') |
|
|
0 |
0 |
while (work->size && work->data[work->size - 1] == '\n') |
|
1834
|
0 |
0 |
if (doc->md.blockcode) |
|
1851
|
0 |
0 |
while (orgpre < 3 && orgpre < size && data[orgpre] == ' ') |
|
|
0 |
0 |
while (orgpre < 3 && orgpre < size && data[orgpre] == ' ') |
|
1855
|
0 |
0 |
if (!beg) |
|
1858
|
0 |
0 |
if (!beg) |
|
1863
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
1875
|
0 |
0 |
while (beg < size) { |
|
1880
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
1884
|
0 |
0 |
if (is_empty(data + beg, end - beg)) { |
|
1892
|
0 |
0 |
while (i < 4 && beg + i < end && data[beg + i] == ' ') |
|
|
0 |
0 |
while (i < 4 && beg + i < end && data[beg + i] == ' ') |
|
|
0 |
0 |
while (i < 4 && beg + i < end && data[beg + i] == ' ') |
|
1897
|
0 |
0 |
if (doc->ext_flags & HOEDOWN_EXT_FENCED_CODE) { |
|
1898
|
0 |
0 |
if (is_codefence(data + beg + i, end - beg - i, NULL, NULL)) |
|
1904
|
0 |
0 |
if (!in_fence) { |
|
1910
|
0 |
0 |
if ((has_next_uli && !is_hrule(data + beg + i, end - beg - i)) || has_next_oli) { |
|
|
0 |
0 |
if ((has_next_uli && !is_hrule(data + beg + i, end - beg - i)) || has_next_oli) { |
|
|
0 |
0 |
if ((has_next_uli && !is_hrule(data + beg + i, end - beg - i)) || has_next_oli) { |
|
1911
|
0 |
0 |
if (in_empty) |
|
1915
|
0 |
0 |
if (pre <= orgpre) { |
|
1917
|
0 |
0 |
if (in_empty && ( |
|
|
0 |
0 |
if (in_empty && ( |
|
1918
|
0 |
0 |
((*flags & HOEDOWN_LIST_ORDERED) && has_next_uli) || |
|
|
0 |
0 |
((*flags & HOEDOWN_LIST_ORDERED) && has_next_uli) || |
|
1919
|
0 |
0 |
(!(*flags & HOEDOWN_LIST_ORDERED) && has_next_oli))) |
|
1925
|
0 |
0 |
if (!sublist) |
|
1931
|
0 |
0 |
else if (in_empty && pre == 0) { |
|
1936
|
0 |
0 |
if (in_empty) { |
|
1948
|
0 |
0 |
if (has_inside_empty) |
|
1951
|
0 |
0 |
if (*flags & HOEDOWN_LI_BLOCK) { |
|
1953
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
1961
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
1970
|
0 |
0 |
if (doc->md.listitem) |
|
1988
|
0 |
0 |
while (i < size) { |
|
1992
|
0 |
0 |
if (!j || (flags & HOEDOWN_LI_END)) |
|
|
0 |
0 |
if (!j || (flags & HOEDOWN_LI_END)) |
|
1996
|
0 |
0 |
if (doc->md.list) |
|
2009
|
69 |
0 |
while (level < size && level < 6 && data[level] == '#') |
|
|
45 |
24 |
while (level < size && level < 6 && data[level] == '#') |
|
2012
|
48 |
0 |
for (i = level; i < size && data[i] == ' '; i++); |
|
|
24 |
24 |
for (i = level; i < size && data[i] == ' '; i++); |
|
2014
|
103 |
0 |
for (end = i; end < size && data[end] != '\n'; end++); |
|
|
79 |
24 |
for (end = i; end < size && data[end] != '\n'; end++); |
|
2017
|
24 |
0 |
while (end && data[end - 1] == '#') |
|
|
0 |
24 |
while (end && data[end - 1] == '#') |
|
2020
|
24 |
0 |
while (end && data[end - 1] == ' ') |
|
|
0 |
24 |
while (end && data[end - 1] == ' ') |
|
2023
|
24 |
0 |
if (end > i) { |
|
2028
|
24 |
0 |
if (doc->md.header) |
|
2046
|
0 |
0 |
if (doc->md.footnote_def) |
|
2059
|
0 |
1 |
if (footnotes->count == 0) |
|
2065
|
0 |
0 |
while (item) { |
|
2071
|
0 |
0 |
if (doc->md.footnotes) |
|
2091
|
0 |
0 |
if (i > size || |
|
|
0 |
0 |
if (i > size || |
|
2092
|
0 |
0 |
data[1] != '/' || |
|
2093
|
0 |
0 |
strncasecmp((char *)data + 2, tag, tag_len) != 0 || |
|
2098
|
0 |
0 |
if ((w = is_empty(data + i, size - i)) == 0 && i < size) |
|
|
0 |
0 |
if ((w = is_empty(data + i, size - i)) == 0 && i < size) |
|
2117
|
0 |
0 |
while (i < size && data[i] != '<') i++; |
|
|
0 |
0 |
while (i < size && data[i] != '<') i++; |
|
2118
|
0 |
0 |
if (i >= size) return 0; |
|
2121
|
0 |
0 |
if (w) return i + w; |
|
2141
|
0 |
0 |
while (i < size && data[i] != '\n') i++; |
|
|
0 |
0 |
while (i < size && data[i] != '\n') i++; |
|
2142
|
0 |
0 |
if (i < size) i++; |
|
2143
|
0 |
0 |
if (i == mark) return 0; |
|
2145
|
0 |
0 |
if (data[mark] == ' ' && mark > 0) continue; |
|
|
0 |
0 |
if (data[mark] == ' ' && mark > 0) continue; |
|
2147
|
0 |
0 |
if (mark == i && (is_empty(data + i, size - i) || i >= size)) break; |
|
|
0 |
0 |
if (mark == i && (is_empty(data + i, size - i) || i >= size)) break; |
|
|
0 |
0 |
if (mark == i && (is_empty(data + i, size - i) || i >= size)) break; |
|
2164
|
0 |
0 |
if (size < 2 || data[0] != '<') |
|
|
0 |
0 |
if (size < 2 || data[0] != '<') |
|
2168
|
0 |
0 |
while (i < size && data[i] != '>' && data[i] != ' ') |
|
|
0 |
0 |
while (i < size && data[i] != '>' && data[i] != ' ') |
|
|
0 |
0 |
while (i < size && data[i] != '>' && data[i] != ' ') |
|
2171
|
0 |
0 |
if (i < size) |
|
2175
|
0 |
0 |
if (!curtag) { |
|
2178
|
0 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
|
0 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
|
0 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
|
0 |
0 |
if (size > 5 && data[1] == '!' && data[2] == '-' && data[3] == '-') { |
|
2181
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
|
0 |
0 |
while (i < size && !(data[i - 2] == '-' && data[i - 1] == '-' && data[i] == '>')) |
|
2186
|
0 |
0 |
if (i < size) |
|
2189
|
0 |
0 |
if (j) { |
|
2191
|
0 |
0 |
if (do_render && doc->md.blockhtml) |
|
|
0 |
0 |
if (do_render && doc->md.blockhtml) |
|
2198
|
0 |
0 |
if (size > 4 && (data[1] == 'h' || data[1] == 'H') && (data[2] == 'r' || data[2] == 'R')) { |
|
|
0 |
0 |
if (size > 4 && (data[1] == 'h' || data[1] == 'H') && (data[2] == 'r' || data[2] == 'R')) { |
|
|
0 |
0 |
if (size > 4 && (data[1] == 'h' || data[1] == 'H') && (data[2] == 'r' || data[2] == 'R')) { |
|
2200
|
0 |
0 |
while (i < size && data[i] != '>') |
|
|
0 |
0 |
while (i < size && data[i] != '>') |
|
2203
|
0 |
0 |
if (i + 1 < size) { |
|
2206
|
0 |
0 |
if (j) { |
|
2208
|
0 |
0 |
if (do_render && doc->md.blockhtml) |
|
|
0 |
0 |
if (do_render && doc->md.blockhtml) |
|
2225
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
|
0 |
0 |
if (!tag_end && strcmp(curtag, "ins") != 0 && strcmp(curtag, "del") != 0) |
|
2228
|
0 |
0 |
if (!tag_end) |
|
2233
|
0 |
0 |
if (do_render && doc->md.blockhtml) |
|
|
0 |
0 |
if (do_render && doc->md.blockhtml) |
|
2252
|
0 |
0 |
if (!doc->md.table_cell || !doc->md.table_row) |
|
|
0 |
0 |
if (!doc->md.table_cell || !doc->md.table_row) |
|
2257
|
0 |
0 |
if (i < size && data[i] == '|') |
|
|
0 |
0 |
if (i < size && data[i] == '|') |
|
2260
|
0 |
0 |
for (col = 0; col < columns && i < size; ++col) { |
|
2266
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
2278
|
0 |
0 |
if (len == 0 && i < size && data[i] != '|') |
|
|
0 |
0 |
if (len == 0 && i < size && data[i] != '|') |
|
2284
|
0 |
0 |
while (cell_end > cell_start && _isspace(data[cell_end])) |
|
|
0 |
0 |
while (cell_end > cell_start && _isspace(data[cell_end])) |
|
2294
|
0 |
0 |
for (; col < columns; ++col) { |
|
2317
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
2318
|
0 |
0 |
if (data[i++] == '|') |
|
2321
|
0 |
0 |
if (i == size || pipes == 0) |
|
2326
|
0 |
0 |
while (header_end > 0 && _isspace(data[header_end - 1])) |
|
|
0 |
0 |
while (header_end > 0 && _isspace(data[header_end - 1])) |
|
2329
|
0 |
0 |
if (data[0] == '|') |
|
2332
|
0 |
0 |
if (header_end && data[header_end - 1] == '|') |
|
|
0 |
0 |
if (header_end && data[header_end - 1] == '|') |
|
2335
|
0 |
0 |
if (pipes < 0) |
|
2343
|
0 |
0 |
if (i < size && data[i] == '|') |
|
|
0 |
0 |
if (i < size && data[i] == '|') |
|
2347
|
0 |
0 |
while (under_end < size && data[under_end] != '\n') |
|
|
0 |
0 |
while (under_end < size && data[under_end] != '\n') |
|
2350
|
0 |
0 |
for (col = 0; col < *columns && i < under_end; ++col) { |
|
|
0 |
0 |
for (col = 0; col < *columns && i < under_end; ++col) { |
|
2353
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
2356
|
0 |
0 |
if (data[i] == ':') { |
|
2361
|
0 |
0 |
while (i < under_end && data[i] == '-') { |
|
|
0 |
0 |
while (i < under_end && data[i] == '-') { |
|
2365
|
0 |
0 |
if (i < under_end && data[i] == ':') { |
|
|
0 |
0 |
if (i < under_end && data[i] == ':') { |
|
2370
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
2373
|
0 |
0 |
if (i < under_end && data[i] != '|' && data[i] != '+') |
|
|
0 |
0 |
if (i < under_end && data[i] != '|' && data[i] != '+') |
|
|
0 |
0 |
if (i < under_end && data[i] != '|' && data[i] != '+') |
|
2376
|
0 |
0 |
if (dashes < 3) |
|
2382
|
0 |
0 |
if (col < *columns) |
|
2417
|
0 |
0 |
if (i > 0) { |
|
2419
|
0 |
0 |
while (i < size) { |
|
2425
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
2426
|
0 |
0 |
if (data[i++] == '|') |
|
2429
|
0 |
0 |
if (pipes == 0 || i == size) { |
|
2446
|
0 |
0 |
if (doc->md.table_header) |
|
2449
|
0 |
0 |
if (doc->md.table_body) |
|
2452
|
0 |
0 |
if (doc->md.table) |
|
2471
|
7 |
0 |
if (doc->work_bufs[BUFFER_SPAN].size + |
|
2475
|
55 |
7 |
while (beg < size) { |
|
2479
|
24 |
31 |
if (is_atxheader(doc, txt_data, end)) |
|
2482
|
0 |
31 |
else if (data[beg] == '<' && doc->md.blockhtml && |
|
|
0 |
0 |
else if (data[beg] == '<' && doc->md.blockhtml && |
|
|
0 |
0 |
else if (data[beg] == '<' && doc->md.blockhtml && |
|
2486
|
27 |
4 |
else if ((i = is_empty(txt_data, end)) != 0) |
|
2489
|
0 |
4 |
else if (is_hrule(txt_data, end)) { |
|
2490
|
0 |
0 |
if (doc->md.hrule) |
|
2493
|
0 |
0 |
while (beg < size && data[beg] != '\n') |
|
|
0 |
0 |
while (beg < size && data[beg] != '\n') |
|
2499
|
0 |
4 |
else if ((doc->ext_flags & HOEDOWN_EXT_FENCED_CODE) != 0 && |
|
|
0 |
0 |
else if ((doc->ext_flags & HOEDOWN_EXT_FENCED_CODE) != 0 && |
|
2503
|
0 |
4 |
else if ((doc->ext_flags & HOEDOWN_EXT_TABLES) != 0 && |
|
|
0 |
0 |
else if ((doc->ext_flags & HOEDOWN_EXT_TABLES) != 0 && |
|
2507
|
0 |
4 |
else if (prefix_quote(txt_data, end)) |
|
2510
|
4 |
0 |
else if (!(doc->ext_flags & HOEDOWN_EXT_DISABLE_INDENTED_CODE) && prefix_code(txt_data, end)) |
|
|
0 |
4 |
else if (!(doc->ext_flags & HOEDOWN_EXT_DISABLE_INDENTED_CODE) && prefix_code(txt_data, end)) |
|
2513
|
0 |
4 |
else if (prefix_uli(txt_data, end)) |
|
2516
|
0 |
4 |
else if (prefix_oli(txt_data, end)) |
|
2543
|
16 |
1 |
if (beg + 3 >= end) return 0; |
|
2544
|
3 |
13 |
if (data[beg] == ' ') { i = 1; |
|
2545
|
0 |
3 |
if (data[beg + 1] == ' ') { i = 2; |
|
2546
|
0 |
0 |
if (data[beg + 2] == ' ') { i = 3; |
|
2547
|
0 |
0 |
if (data[beg + 3] == ' ') return 0; } } } |
|
2551
|
4 |
12 |
if (data[i] != '[') return 0; |
|
2553
|
4 |
0 |
if (i >= end || data[i] != '^') return 0; |
|
|
0 |
4 |
if (i >= end || data[i] != '^') return 0; |
|
2556
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
2558
|
0 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
|
0 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
2563
|
0 |
0 |
if (i >= end || data[i] != ':') return 0; |
|
|
0 |
0 |
if (i >= end || data[i] != ':') return 0; |
|
2572
|
0 |
0 |
while (i < end) { |
|
2573
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r') i++; |
|
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r') i++; |
|
|
0 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r') i++; |
|
2576
|
0 |
0 |
if (is_empty(data + start, i - start)) { |
|
2578
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
2580
|
0 |
0 |
if (i < end && data[i] == '\n' && data[i - 1] == '\r') i++; |
|
|
0 |
0 |
if (i < end && data[i] == '\n' && data[i - 1] == '\r') i++; |
|
|
0 |
0 |
if (i < end && data[i] == '\n' && data[i - 1] == '\r') i++; |
|
2588
|
0 |
0 |
while (ind < 4 && start + ind < end && data[start + ind] == ' ') |
|
|
0 |
0 |
while (ind < 4 && start + ind < end && data[start + ind] == ' ') |
|
|
0 |
0 |
while (ind < 4 && start + ind < end && data[start + ind] == ' ') |
|
2594
|
0 |
0 |
if (ind == 0) { |
|
2595
|
0 |
0 |
if (start == id_end + 2 && data[start] == '\t') {} |
|
|
0 |
0 |
if (start == id_end + 2 && data[start] == '\t') {} |
|
2598
|
0 |
0 |
else if (in_empty) { |
|
2607
|
0 |
0 |
if (i < end) { |
|
2609
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
2611
|
0 |
0 |
if (i < end && data[i] == '\n' && data[i - 1] == '\r') i++; |
|
|
0 |
0 |
if (i < end && data[i] == '\n' && data[i - 1] == '\r') i++; |
|
|
0 |
0 |
if (i < end && data[i] == '\n' && data[i - 1] == '\r') i++; |
|
2617
|
0 |
0 |
if (last) |
|
2620
|
0 |
0 |
if (list) { |
|
2623
|
0 |
0 |
if (!ref) |
|
2625
|
0 |
0 |
if (!add_footnote_ref(list, ref)) { |
|
2647
|
40 |
1 |
if (beg + 3 >= end) return 0; |
|
2648
|
3 |
37 |
if (data[beg] == ' ') { i = 1; |
|
2649
|
0 |
3 |
if (data[beg + 1] == ' ') { i = 2; |
|
2650
|
0 |
0 |
if (data[beg + 2] == ' ') { i = 3; |
|
2651
|
0 |
0 |
if (data[beg + 3] == ' ') return 0; } } } |
|
2655
|
4 |
36 |
if (data[i] != '[') return 0; |
|
2658
|
12 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
|
12 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
|
12 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
|
8 |
4 |
while (i < end && data[i] != '\n' && data[i] != '\r' && data[i] != ']') |
|
2660
|
4 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
|
4 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
2665
|
4 |
0 |
if (i >= end || data[i] != ':') return 0; |
|
|
3 |
1 |
if (i >= end || data[i] != ':') return 0; |
|
2667
|
6 |
0 |
while (i < end && data[i] == ' ') i++; |
|
|
3 |
3 |
while (i < end && data[i] == ' ') i++; |
|
2668
|
3 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
3 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
2670
|
0 |
0 |
if (i < end && data[i] == '\r' && data[i - 1] == '\n') i++; } |
|
|
0 |
0 |
if (i < end && data[i] == '\r' && data[i - 1] == '\n') i++; } |
|
|
0 |
0 |
if (i < end && data[i] == '\r' && data[i - 1] == '\n') i++; } |
|
2671
|
3 |
0 |
while (i < end && data[i] == ' ') i++; |
|
|
0 |
3 |
while (i < end && data[i] == ' ') i++; |
|
2672
|
3 |
0 |
if (i >= end) return 0; |
|
2675
|
0 |
3 |
if (data[i] == '<') |
|
2680
|
67 |
0 |
while (i < end && data[i] != ' ' && data[i] != '\n' && data[i] != '\r') |
|
|
64 |
3 |
while (i < end && data[i] != ' ' && data[i] != '\n' && data[i] != '\r') |
|
|
64 |
0 |
while (i < end && data[i] != ' ' && data[i] != '\n' && data[i] != '\r') |
|
|
64 |
0 |
while (i < end && data[i] != ' ' && data[i] != '\n' && data[i] != '\r') |
|
2683
|
3 |
0 |
if (data[i - 1] == '>') link_end = i - 1; |
|
2687
|
17 |
0 |
while (i < end && data[i] == ' ') i++; |
|
|
14 |
3 |
while (i < end && data[i] == ' ') i++; |
|
2688
|
3 |
0 |
if (i < end && data[i] != '\n' && data[i] != '\r' |
|
|
3 |
0 |
if (i < end && data[i] != '\n' && data[i] != '\r' |
|
|
3 |
0 |
if (i < end && data[i] != '\n' && data[i] != '\r' |
|
2689
|
3 |
0 |
&& data[i] != '\'' && data[i] != '"' && data[i] != '(') |
|
|
0 |
3 |
&& data[i] != '\'' && data[i] != '"' && data[i] != '(') |
|
|
0 |
0 |
&& data[i] != '\'' && data[i] != '"' && data[i] != '(') |
|
2693
|
3 |
0 |
if (i >= end || data[i] == '\r' || data[i] == '\n') line_end = i; |
|
|
3 |
0 |
if (i >= end || data[i] == '\r' || data[i] == '\n') line_end = i; |
|
|
0 |
3 |
if (i >= end || data[i] == '\r' || data[i] == '\n') line_end = i; |
|
2694
|
3 |
0 |
if (i + 1 < end && data[i] == '\n' && data[i + 1] == '\r') |
|
|
0 |
3 |
if (i + 1 < end && data[i] == '\n' && data[i + 1] == '\r') |
|
|
0 |
0 |
if (i + 1 < end && data[i] == '\n' && data[i + 1] == '\r') |
|
2698
|
0 |
3 |
if (line_end) { |
|
2700
|
0 |
0 |
while (i < end && data[i] == ' ') i++; } |
|
|
0 |
0 |
while (i < end && data[i] == ' ') i++; } |
|
2705
|
3 |
0 |
if (i + 1 < end |
|
2706
|
0 |
3 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == '(')) { |
|
|
0 |
0 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == '(')) { |
|
2710
|
34 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r') i++; |
|
|
31 |
3 |
while (i < end && data[i] != '\n' && data[i] != '\r') i++; |
|
|
31 |
0 |
while (i < end && data[i] != '\n' && data[i] != '\r') i++; |
|
2711
|
2 |
1 |
if (i + 1 < end && data[i] == '\n' && data[i + 1] == '\r') |
|
|
2 |
0 |
if (i + 1 < end && data[i] == '\n' && data[i + 1] == '\r') |
|
|
2 |
0 |
if (i + 1 < end && data[i] == '\n' && data[i + 1] == '\r') |
|
2716
|
3 |
0 |
while (i > title_offset && data[i] == ' ') |
|
|
0 |
3 |
while (i > title_offset && data[i] == ' ') |
|
2718
|
3 |
0 |
if (i > title_offset |
|
2719
|
0 |
3 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == ')')) { |
|
|
0 |
0 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == ')')) { |
|
2723
|
3 |
0 |
if (!line_end || link_end == link_offset) |
|
2727
|
3 |
0 |
if (last) |
|
2730
|
3 |
0 |
if (refs) { |
|
2734
|
3 |
0 |
if (!ref) |
|
2740
|
3 |
0 |
if (title_end > title_offset) { |
|
2759
|
35 |
0 |
while (i < size) { |
|
2762
|
431 |
35 |
while (i < size && line[i] != '\t') { |
|
|
431 |
0 |
while (i < size && line[i] != '\t') { |
|
2764
|
425 |
6 |
if ((line[i] & 0xc0) != 0x80) |
|
2769
|
35 |
0 |
if (i > org) |
|
2772
|
0 |
35 |
if (i >= size) |
|
2777
|
0 |
0 |
} while (tab % 4); |
|
2795
|
0 |
7 |
assert(max_nesting > 0 && renderer); |
|
2807
|
1 |
6 |
if (extensions & HOEDOWN_EXT_UNDERLINE && doc->md.underline) { |
|
|
1 |
0 |
if (extensions & HOEDOWN_EXT_UNDERLINE && doc->md.underline) { |
|
2811
|
1 |
6 |
if (doc->md.emphasis || doc->md.double_emphasis || doc->md.triple_emphasis) { |
|
|
1 |
0 |
if (doc->md.emphasis || doc->md.double_emphasis || doc->md.triple_emphasis) { |
|
|
0 |
1 |
if (doc->md.emphasis || doc->md.double_emphasis || doc->md.triple_emphasis) { |
|
2814
|
0 |
6 |
if (extensions & HOEDOWN_EXT_STRIKETHROUGH) |
|
2816
|
0 |
6 |
if (extensions & HOEDOWN_EXT_HIGHLIGHT) |
|
2820
|
7 |
0 |
if (doc->md.codespan) |
|
2823
|
6 |
1 |
if (doc->md.linebreak) |
|
2826
|
1 |
6 |
if (doc->md.image || doc->md.link || doc->md.footnotes || doc->md.footnote_ref) { |
|
|
0 |
1 |
if (doc->md.image || doc->md.link || doc->md.footnotes || doc->md.footnote_ref) { |
|
|
0 |
0 |
if (doc->md.image || doc->md.link || doc->md.footnotes || doc->md.footnote_ref) { |
|
|
0 |
0 |
if (doc->md.image || doc->md.link || doc->md.footnotes || doc->md.footnote_ref) { |
|
2835
|
2 |
5 |
if (extensions & HOEDOWN_EXT_AUTOLINK) { |
|
2841
|
0 |
7 |
if (extensions & HOEDOWN_EXT_SUPERSCRIPT) |
|
2844
|
0 |
7 |
if (extensions & HOEDOWN_EXT_QUOTE) |
|
2847
|
0 |
7 |
if (extensions & HOEDOWN_EXT_MATH) |
|
2879
|
1 |
6 |
if (footnotes_enabled) { |
|
2889
|
7 |
0 |
if (size >= 3 && memcmp(data, UTF8_BOM, 3) == 0) |
|
|
0 |
7 |
if (size >= 3 && memcmp(data, UTF8_BOM, 3) == 0) |
|
2892
|
41 |
7 |
while (beg < size) /* iterating over lines */ |
|
2893
|
17 |
24 |
if (footnotes_enabled && is_footnote(data, beg, size, &end, &doc->footnotes_found)) |
|
|
0 |
17 |
if (footnotes_enabled && is_footnote(data, beg, size, &end, &doc->footnotes_found)) |
|
2895
|
3 |
38 |
else if (is_ref(data, beg, size, &end, doc->refs)) |
|
2899
|
466 |
3 |
while (end < size && data[end] != '\n' && data[end] != '\r') |
|
|
431 |
35 |
while (end < size && data[end] != '\n' && data[end] != '\r') |
|
|
431 |
0 |
while (end < size && data[end] != '\n' && data[end] != '\r') |
|
2903
|
35 |
3 |
if (end > beg) |
|
2906
|
69 |
7 |
while (end < size && (data[end] == '\n' || data[end] == '\r')) { |
|
|
38 |
31 |
while (end < size && (data[end] == '\n' || data[end] == '\r')) { |
|
2908
|
0 |
38 |
if (data[end] == '\n' || (end + 1 < size && data[end + 1] != '\n')) |
|
|
0 |
0 |
if (data[end] == '\n' || (end + 1 < size && data[end + 1] != '\n')) |
|
|
0 |
0 |
if (data[end] == '\n' || (end + 1 < size && data[end + 1] != '\n')) |
|
2920
|
1 |
6 |
if (doc->md.doc_header) |
|
2923
|
7 |
0 |
if (text->size) { |
|
2925
|
3 |
4 |
if (text->data[text->size - 1] != '\n' && text->data[text->size - 1] != '\r') |
|
2932
|
1 |
6 |
if (footnotes_enabled) |
|
2935
|
2 |
5 |
if (doc->md.doc_footer) |
|
2941
|
1 |
6 |
if (footnotes_enabled) { |
|
2946
|
0 |
7 |
assert(doc->work_bufs[BUFFER_SPAN].size == 0); |
|
2947
|
0 |
7 |
assert(doc->work_bufs[BUFFER_BLOCK].size == 0); |
|
2963
|
0 |
0 |
while (i < size && data[i] != '\n' && data[i] != '\r') |
|
|
0 |
0 |
while (i < size && data[i] != '\n' && data[i] != '\r') |
|
|
0 |
0 |
while (i < size && data[i] != '\n' && data[i] != '\r') |
|
2968
|
0 |
0 |
if (i >= size) |
|
2971
|
0 |
0 |
while (i < size && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
0 |
while (i < size && (data[i] == '\n' || data[i] == '\r')) { |
|
2973
|
0 |
0 |
if (data[i] == '\n' || (i + 1 < size && data[i + 1] != '\n')) |
|
|
0 |
0 |
if (data[i] == '\n' || (i + 1 < size && data[i + 1] != '\n')) |
|
|
0 |
0 |
if (data[i] == '\n' || (i + 1 < size && data[i + 1] != '\n')) |
|
2982
|
0 |
0 |
if (doc->md.doc_header) |
|
2987
|
0 |
0 |
if (doc->md.doc_footer) |
|
2993
|
0 |
0 |
assert(doc->work_bufs[BUFFER_SPAN].size == 0); |
|
2994
|
0 |
0 |
assert(doc->work_bufs[BUFFER_BLOCK].size == 0); |
|
3002
|
0 |
0 |
for (i = 0; i < (size_t)doc->work_bufs[BUFFER_SPAN].asize; ++i) |
|
3005
|
0 |
0 |
for (i = 0; i < (size_t)doc->work_bufs[BUFFER_BLOCK].asize; ++i) |