| line |
true |
false |
branch |
|
139
|
40 |
0 |
if (pool->size < pool->asize && |
|
|
29 |
11 |
if (pool->size < pool->asize && |
|
161
|
6 |
0 |
while (i < src->size) { |
|
163
|
115 |
6 |
while (i < src->size && src->data[i] != '\\') |
|
|
115 |
0 |
while (i < src->size && src->data[i] != '\\') |
|
166
|
6 |
0 |
if (i > org) |
|
169
|
0 |
6 |
if (i + 1 >= src->size) |
|
183
|
6 |
6 |
for (i = 0; i < length; ++i) |
|
196
|
3 |
0 |
if (!ref) |
|
214
|
3 |
0 |
while (ref != NULL) { |
|
215
|
0 |
3 |
if (ref->id == hash) |
|
229
|
48 |
6 |
for (i = 0; i < REF_TABLE_SIZE; ++i) { |
|
233
|
3 |
48 |
while (r) { |
|
247
|
0 |
0 |
if (!ref) |
|
259
|
0 |
0 |
if (!item) |
|
263
|
0 |
0 |
if (list->head == NULL) { |
|
282
|
0 |
0 |
while (item != NULL) { |
|
283
|
0 |
0 |
if (item->ref->id == hash) |
|
304
|
0 |
2 |
while (item) { |
|
306
|
0 |
0 |
if (free_refs) |
|
343
|
0 |
0 |
for (i = 0; i < size; ++i) { |
|
344
|
0 |
0 |
if (isalnum(data[i])) |
|
357
|
0 |
0 |
return (nb == 1) ? i + 1 : 0; |
|
374
|
2 |
0 |
if (size < 3) return 0; |
|
377
|
2 |
0 |
if (data[0] != '<') return 0; |
|
378
|
1 |
1 |
i = (data[1] == '/') ? 2 : 1; |
|
380
|
2 |
0 |
if (!isalnum(data[i])) |
|
387
|
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] == '-')) |
|
390
|
2 |
0 |
if (i > 1 && data[i] == '@') { |
|
|
0 |
2 |
if (i > 1 && data[i] == '@') { |
|
391
|
0 |
0 |
if ((j = is_mail_autolink(data + i, size - i)) != 0) { |
|
397
|
1 |
1 |
if (i > 2 && data[i] == ':') { |
|
|
0 |
1 |
if (i > 2 && data[i] == ':') { |
|
403
|
0 |
2 |
if (i >= size) |
|
406
|
0 |
2 |
else if (*autolink) { |
|
409
|
0 |
0 |
while (i < size) { |
|
410
|
0 |
0 |
if (data[i] == '\\') i += 2; |
|
411
|
0 |
0 |
else if (data[i] == '>' || data[i] == '\'' || |
|
|
0 |
0 |
else if (data[i] == '>' || data[i] == '\'' || |
|
412
|
0 |
0 |
data[i] == '"' || data[i] == ' ' || data[i] == '\n') |
|
|
0 |
0 |
data[i] == '"' || data[i] == ' ' || data[i] == '\n') |
|
417
|
0 |
0 |
if (i >= size) return 0; |
|
418
|
0 |
0 |
if (i > j && data[i] == '>') return i + 1; |
|
|
0 |
0 |
if (i > j && data[i] == '>') return i + 1; |
|
424
|
2 |
0 |
while (i < size && data[i] != '>') i++; |
|
|
0 |
2 |
while (i < size && data[i] != '>') i++; |
|
425
|
2 |
0 |
if (i >= size) return 0; |
|
437
|
25 |
0 |
if (md->work_bufs[BUFFER_SPAN].size + |
|
441
|
42 |
2 |
while (i < size) { |
|
443
|
201 |
23 |
while (end < size && (action = md->active_char[data[end]]) == 0) { |
|
|
182 |
19 |
while (end < size && (action = md->active_char[data[end]]) == 0) { |
|
447
|
35 |
7 |
if (md->md.normal_text) { |
|
455
|
19 |
23 |
if (end >= size) break; |
|
459
|
8 |
11 |
if (!end) /* no action from the callback */ |
|
474
|
0 |
0 |
while (i < size) { |
|
475
|
0 |
0 |
while (i < size && data[i] != c && data[i] != '[') |
|
|
0 |
0 |
while (i < size && data[i] != c && data[i] != '[') |
|
|
0 |
0 |
while (i < size && data[i] != c && data[i] != '[') |
|
478
|
0 |
0 |
if (i == size) |
|
481
|
0 |
0 |
if (data[i] == c) |
|
485
|
0 |
0 |
if (i && data[i - 1] == '\\') { |
|
|
0 |
0 |
if (i && data[i - 1] == '\\') { |
|
489
|
0 |
0 |
if (data[i] == '`') { |
|
494
|
0 |
0 |
while (i < size && data[i] == '`') { |
|
|
0 |
0 |
while (i < size && data[i] == '`') { |
|
498
|
0 |
0 |
if (i >= size) return 0; |
|
502
|
0 |
0 |
while (i < size && bt < span_nb) { |
|
503
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
504
|
0 |
0 |
if (data[i] == '`') bt++; |
|
509
|
0 |
0 |
if (i >= size) return tmp_i; |
|
512
|
0 |
0 |
else if (data[i] == '[') { |
|
517
|
0 |
0 |
while (i < size && data[i] != ']') { |
|
|
0 |
0 |
while (i < size && data[i] != ']') { |
|
518
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
523
|
0 |
0 |
while (i < size && (data[i] == ' ' || data[i] == '\n')) |
|
|
0 |
0 |
while (i < size && (data[i] == ' ' || data[i] == '\n')) |
|
526
|
0 |
0 |
if (i >= size) |
|
537
|
0 |
0 |
if (tmp_i) |
|
544
|
0 |
0 |
while (i < size && data[i] != cc) { |
|
|
0 |
0 |
while (i < size && data[i] != cc) { |
|
545
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
|
0 |
0 |
if (!tmp_i && data[i] == c) tmp_i = i; |
|
549
|
0 |
0 |
if (i >= size) |
|
569
|
0 |
0 |
if (size > 1 && data[0] == c && data[1] == c) i = 1; |
|
|
0 |
0 |
if (size > 1 && data[0] == c && data[1] == c) i = 1; |
|
|
0 |
0 |
if (size > 1 && data[0] == c && data[1] == c) i = 1; |
|
571
|
0 |
0 |
while (i < size) { |
|
573
|
0 |
0 |
if (!len) return 0; |
|
575
|
0 |
0 |
if (i >= size) return 0; |
|
577
|
0 |
0 |
if (data[i] == c && !_isspace(data[i - 1])) { |
|
|
0 |
0 |
if (data[i] == c && !_isspace(data[i - 1])) { |
|
579
|
0 |
0 |
if (md->ext_flags & HOEDOWN_EXT_NO_INTRA_EMPHASIS) { |
|
580
|
0 |
0 |
if (i + 1 < size && isalnum(data[i + 1])) |
|
|
0 |
0 |
if (i + 1 < size && isalnum(data[i + 1])) |
|
587
|
0 |
0 |
if (md->ext_flags & HOEDOWN_EXT_UNDERLINE && c == '_') |
|
|
0 |
0 |
if (md->ext_flags & HOEDOWN_EXT_UNDERLINE && c == '_') |
|
593
|
0 |
0 |
return r ? i + 1 : 0; |
|
608
|
0 |
0 |
while (i < size) { |
|
610
|
0 |
0 |
if (!len) return 0; |
|
613
|
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])) { |
|
617
|
0 |
0 |
if (c == '~') |
|
619
|
0 |
0 |
else if (c == '=') |
|
625
|
0 |
0 |
return r ? i + 2 : 0; |
|
640
|
0 |
0 |
while (i < size) { |
|
642
|
0 |
0 |
if (!len) return 0; |
|
646
|
0 |
0 |
if (data[i] != c || _isspace(data[i - 1])) |
|
|
0 |
0 |
if (data[i] != c || _isspace(data[i - 1])) |
|
649
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && md->md.triple_emphasis) { |
|
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && md->md.triple_emphasis) { |
|
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && md->md.triple_emphasis) { |
|
|
0 |
0 |
if (i + 2 < size && data[i + 1] == c && data[i + 2] == c && md->md.triple_emphasis) { |
|
656
|
0 |
0 |
return r ? i + 3 : 0; |
|
658
|
0 |
0 |
} else if (i + 1 < size && data[i + 1] == c) { |
|
|
0 |
0 |
} else if (i + 1 < size && data[i + 1] == c) { |
|
661
|
0 |
0 |
if (!len) return 0; |
|
667
|
0 |
0 |
if (!len) return 0; |
|
681
|
0 |
0 |
if (md->ext_flags & HOEDOWN_EXT_NO_INTRA_EMPHASIS) { |
|
682
|
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] != '(') |
|
686
|
0 |
0 |
if (size > 2 && data[1] != c) { |
|
|
0 |
0 |
if (size > 2 && data[1] != c) { |
|
689
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[1]) || (ret = parse_emph1(ob, md, data + 1, size - 1, c)) == 0) |
|
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[1]) || (ret = parse_emph1(ob, md, data + 1, size - 1, c)) == 0) |
|
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[1]) || (ret = parse_emph1(ob, md, data + 1, size - 1, c)) == 0) |
|
695
|
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) { |
|
696
|
0 |
0 |
if (_isspace(data[2]) || (ret = parse_emph2(ob, md, data + 2, size - 2, c)) == 0) |
|
|
0 |
0 |
if (_isspace(data[2]) || (ret = parse_emph2(ob, md, data + 2, size - 2, c)) == 0) |
|
702
|
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) { |
|
703
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[3]) || (ret = parse_emph3(ob, md, data + 3, size - 3, c)) == 0) |
|
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[3]) || (ret = parse_emph3(ob, md, data + 3, size - 3, c)) == 0) |
|
|
0 |
0 |
if (c == '~' || c == '=' || _isspace(data[3]) || (ret = parse_emph3(ob, md, data + 3, size - 3, c)) == 0) |
|
717
|
7 |
0 |
if (offset < 2 || data[-1] != ' ' || data[-2] != ' ') |
|
|
0 |
7 |
if (offset < 2 || data[-1] != ' ' || data[-2] != ' ') |
|
|
0 |
0 |
if (offset < 2 || data[-1] != ' ' || data[-2] != ' ') |
|
721
|
0 |
0 |
while (ob->size && ob->data[ob->size - 1] == ' ') |
|
|
0 |
0 |
while (ob->size && ob->data[ob->size - 1] == ' ') |
|
735
|
2 |
0 |
while (nb < size && data[nb] == '`') |
|
|
1 |
1 |
while (nb < size && data[nb] == '`') |
|
740
|
7 |
1 |
for (end = nb; end < size && i < nb; end++) { |
|
741
|
1 |
6 |
if (data[end] == '`') i++; |
|
745
|
1 |
0 |
if (i < nb && end >= size) |
|
750
|
1 |
0 |
while (f_begin < end && data[f_begin] == ' ') |
|
|
0 |
1 |
while (f_begin < end && data[f_begin] == ' ') |
|
754
|
1 |
0 |
while (f_end > nb && data[f_end-1] == ' ') |
|
|
0 |
1 |
while (f_end > nb && data[f_end-1] == ' ') |
|
758
|
1 |
0 |
if (f_begin < f_end) { |
|
760
|
0 |
1 |
if (!md->md.codespan(ob, &work, md->md.opaque)) |
|
763
|
0 |
0 |
if (!md->md.codespan(ob, 0, md->md.opaque)) |
|
777
|
0 |
0 |
while (nq < size && data[nq] == '"') |
|
|
0 |
0 |
while (nq < size && data[nq] == '"') |
|
782
|
0 |
0 |
for (end = nq; end < size && i < nq; end++) { |
|
783
|
0 |
0 |
if (data[end] == '"') i++; |
|
787
|
0 |
0 |
if (i < nq && end >= size) |
|
792
|
0 |
0 |
while (f_begin < end && data[f_begin] == ' ') |
|
|
0 |
0 |
while (f_begin < end && data[f_begin] == ' ') |
|
796
|
0 |
0 |
while (f_end > nq && data[f_end-1] == ' ') |
|
|
0 |
0 |
while (f_end > nq && data[f_end-1] == ' ') |
|
800
|
0 |
0 |
if (f_begin < f_end) { |
|
802
|
0 |
0 |
if (!md->md.quote(ob, &work, md->md.opaque)) |
|
805
|
0 |
0 |
if (!md->md.quote(ob, 0, md->md.opaque)) |
|
820
|
0 |
0 |
if (size > 1) { |
|
821
|
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) |
|
824
|
0 |
0 |
if (md->md.normal_text) { |
|
830
|
0 |
0 |
} else if (size == 1) { |
|
845
|
1 |
0 |
if (end < size && data[end] == '#') |
|
|
0 |
1 |
if (end < size && data[end] == '#') |
|
848
|
1 |
0 |
while (end < size && isalnum(data[end])) |
|
|
0 |
1 |
while (end < size && isalnum(data[end])) |
|
851
|
1 |
0 |
if (end < size && data[end] == ';') |
|
|
0 |
1 |
if (end < size && data[end] == ';') |
|
856
|
0 |
0 |
if (md->md.entity) { |
|
875
|
2 |
0 |
if (end > 2) { |
|
876
|
2 |
0 |
if (md->md.autolink && altype != HOEDOWN_AUTOLINK_NONE) { |
|
|
0 |
2 |
if (md->md.autolink && altype != HOEDOWN_AUTOLINK_NONE) { |
|
884
|
2 |
0 |
else if (md->md.raw_html_tag) |
|
888
|
2 |
0 |
if (!ret) return 0; |
|
898
|
0 |
0 |
if (!md->md.link || md->in_link_body) |
|
|
0 |
0 |
if (!md->md.link || md->in_link_body) |
|
903
|
0 |
0 |
if ((link_len = hoedown_autolink__www(&rewind, link, data, offset, size, HOEDOWN_AUTOLINK_SHORT_DOMAINS)) > 0) { |
|
909
|
0 |
0 |
if (md->md.normal_text) { |
|
930
|
0 |
0 |
if (!md->md.autolink || md->in_link_body) |
|
|
0 |
0 |
if (!md->md.autolink || md->in_link_body) |
|
935
|
0 |
0 |
if ((link_len = hoedown_autolink__email(&rewind, link, data, offset, size, 0)) > 0) { |
|
950
|
2 |
0 |
if (!md->md.autolink || md->in_link_body) |
|
|
2 |
0 |
if (!md->md.autolink || md->in_link_body) |
|
955
|
2 |
0 |
if ((link_len = hoedown_autolink__url(&rewind, link, data, offset, size, 0)) > 0) { |
|
968
|
6 |
0 |
int is_img = (offset && data[-1] == '!'), level; |
|
|
4 |
2 |
int is_img = (offset && data[-1] == '!'), level; |
|
979
|
2 |
4 |
if ((is_img && !md->md.image) || (!is_img && !md->md.link)) |
|
|
2 |
0 |
if ((is_img && !md->md.image) || (!is_img && !md->md.link)) |
|
|
4 |
2 |
if ((is_img && !md->md.image) || (!is_img && !md->md.link)) |
|
|
4 |
0 |
if ((is_img && !md->md.image) || (!is_img && !md->md.link)) |
|
983
|
46 |
0 |
for (level = 1; i < size; i++) { |
|
984
|
46 |
0 |
if (data[i] == '\n') |
|
987
|
0 |
46 |
else if (data[i - 1] == '\\') |
|
990
|
0 |
46 |
else if (data[i] == '[') |
|
993
|
6 |
40 |
else if (data[i] == ']') { |
|
995
|
0 |
6 |
if (level <= 0) |
|
1000
|
6 |
0 |
if (i >= size) |
|
1007
|
6 |
0 |
if (md->ext_flags & HOEDOWN_EXT_FOOTNOTES && data[1] == '^') { |
|
|
6 |
0 |
if (md->ext_flags & HOEDOWN_EXT_FOOTNOTES && data[1] == '^') { |
|
1011
|
0 |
0 |
if (txt_e < 3) |
|
1020
|
0 |
0 |
if (fr && !fr->is_used) { |
|
|
0 |
0 |
if (fr && !fr->is_used) { |
|
1021
|
0 |
0 |
if(!add_footnote_ref(&md->footnotes_used, fr)) |
|
1028
|
0 |
0 |
if (fr && md->md.footnote_ref) |
|
|
0 |
0 |
if (fr && md->md.footnote_ref) |
|
1036
|
9 |
0 |
while (i < size && _isspace(data[i])) |
|
|
3 |
6 |
while (i < size && _isspace(data[i])) |
|
1040
|
6 |
0 |
if (i < size && data[i] == '(') { |
|
|
3 |
3 |
if (i < size && data[i] == '(') { |
|
1046
|
0 |
3 |
while (i < size && _isspace(data[i])) |
|
|
0 |
3 |
while (i < size && _isspace(data[i])) |
|
1055
|
56 |
0 |
while (i < size) { |
|
1056
|
0 |
56 |
if (data[i] == '\\') i += 2; |
|
1057
|
0 |
56 |
else if (data[i] == '(' && i != 0) { |
|
|
0 |
0 |
else if (data[i] == '(' && i != 0) { |
|
1060
|
1 |
55 |
else if (data[i] == ')') { |
|
1061
|
0 |
1 |
if (nb_p == 0) break; |
|
1063
|
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; |
|
1067
|
3 |
0 |
if (i >= size) goto cleanup; |
|
1071
|
2 |
1 |
if (data[i] == '\'' || data[i] == '"') { |
|
1077
|
23 |
0 |
while (i < size) { |
|
1078
|
0 |
23 |
if (data[i] == '\\') i += 2; |
|
1079
|
2 |
21 |
else if (data[i] == qtype) {in_title = 0; i++;} |
|
1080
|
2 |
19 |
else if ((data[i] == ')') && !in_title) break; |
|
|
0 |
2 |
else if ((data[i] == ')') && !in_title) break; |
|
1084
|
2 |
0 |
if (i >= size) goto cleanup; |
|
1088
|
2 |
0 |
while (title_e > title_b && _isspace(data[title_e])) |
|
|
0 |
2 |
while (title_e > title_b && _isspace(data[title_e])) |
|
1092
|
0 |
2 |
if (data[title_e] != '\'' && data[title_e] != '"') { |
|
1099
|
5 |
0 |
while (link_e > link_b && _isspace(data[link_e - 1])) |
|
|
2 |
3 |
while (link_e > link_b && _isspace(data[link_e - 1])) |
|
1103
|
0 |
3 |
if (data[link_b] == '<') link_b++; |
|
1104
|
0 |
3 |
if (data[link_e - 1] == '>') link_e--; |
|
1107
|
3 |
0 |
if (link_e > link_b) { |
|
1112
|
2 |
1 |
if (title_e > title_b) { |
|
1121
|
3 |
0 |
else if (i < size && data[i] == '[') { |
|
|
3 |
0 |
else if (i < size && data[i] == '[') { |
|
1128
|
6 |
0 |
while (i < size && data[i] != ']') i++; |
|
|
3 |
3 |
while (i < size && data[i] != ']') i++; |
|
1129
|
3 |
0 |
if (i >= size) goto cleanup; |
|
1133
|
0 |
3 |
if (link_b == link_e) { |
|
1134
|
0 |
0 |
if (text_has_nl) { |
|
1138
|
0 |
0 |
for (j = 1; j < txt_e; j++) { |
|
1139
|
0 |
0 |
if (data[j] != '\n') |
|
1141
|
0 |
0 |
else if (data[j - 1] != ' ') |
|
1157
|
3 |
0 |
if (!lr) |
|
1172
|
0 |
0 |
if (text_has_nl) { |
|
1176
|
0 |
0 |
for (j = 1; j < txt_e; j++) { |
|
1177
|
0 |
0 |
if (data[j] != '\n') |
|
1179
|
0 |
0 |
else if (data[j - 1] != ' ') |
|
1192
|
0 |
0 |
if (!lr) |
|
1204
|
6 |
0 |
if (txt_e > 1) { |
|
1206
|
2 |
4 |
if (is_img) { |
|
1217
|
6 |
0 |
if (link) { |
|
1223
|
2 |
4 |
if (is_img) { |
|
1224
|
2 |
0 |
if (ob->size && ob->data[ob->size - 1] == '!') |
|
|
2 |
0 |
if (ob->size && ob->data[ob->size - 1] == '!') |
|
1235
|
6 |
0 |
return ret ? i : 0; |
|
1244
|
0 |
0 |
if (!md->md.superscript) |
|
1247
|
0 |
0 |
if (size < 2) |
|
1250
|
0 |
0 |
if (data[1] == '(') { |
|
1253
|
0 |
0 |
while (sup_len < size && data[sup_len] != ')' && data[sup_len - 1] != '\\') |
|
|
0 |
0 |
while (sup_len < size && data[sup_len] != ')' && data[sup_len - 1] != '\\') |
|
|
0 |
0 |
while (sup_len < size && data[sup_len] != ')' && data[sup_len - 1] != '\\') |
|
1256
|
0 |
0 |
if (sup_len == size) |
|
1261
|
0 |
0 |
while (sup_len < size && !_isspace(data[sup_len])) |
|
|
0 |
0 |
while (sup_len < size && !_isspace(data[sup_len])) |
|
1265
|
0 |
0 |
if (sup_len - sup_start == 0) |
|
1266
|
0 |
0 |
return (sup_start == 2) ? 3 : 0; |
|
1273
|
0 |
0 |
return (sup_start == 2) ? sup_len + 1 : sup_len; |
|
1286
|
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++) |
|
|
24 |
0 |
for (i = 0; i < size && data[i] != '\n'; i++) |
|
|
4 |
20 |
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++) |
|
1287
|
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 |
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 |
11 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
|
0 |
0 |
if (data[i] != ' ') |
|
1301
|
15 |
0 |
if (size < 3) return 0; |
|
1302
|
0 |
15 |
if (data[0] == ' ') { i++; |
|
1303
|
0 |
0 |
if (data[1] == ' ') { i++; |
|
1304
|
0 |
0 |
if (data[2] == ' ') { i++; } } } |
|
1307
|
15 |
0 |
if (i + 2 >= size |
|
1308
|
15 |
0 |
|| (data[i] != '*' && data[i] != '-' && data[i] != '_')) |
|
|
1 |
14 |
|| (data[i] != '*' && data[i] != '-' && data[i] != '_')) |
|
1313
|
2 |
0 |
while (i < size && data[i] != '\n') { |
|
|
2 |
0 |
while (i < size && data[i] != '\n') { |
|
1314
|
1 |
1 |
if (data[i] == c) n++; |
|
1315
|
0 |
1 |
else if (data[i] != ' ') |
|
1333
|
0 |
0 |
if (size < 3) return 0; |
|
1334
|
0 |
0 |
if (data[0] == ' ') { i++; |
|
1335
|
0 |
0 |
if (data[1] == ' ') { i++; |
|
1336
|
0 |
0 |
if (data[2] == ' ') { i++; } } } |
|
1339
|
0 |
0 |
if (i + 2 >= size || !(data[i] == '~' || data[i] == '`')) |
|
|
0 |
0 |
if (i + 2 >= size || !(data[i] == '~' || data[i] == '`')) |
|
1345
|
0 |
0 |
while (i < size && data[i] == c) { |
|
|
0 |
0 |
while (i < size && data[i] == c) { |
|
1349
|
0 |
0 |
if (n < 3) |
|
1363
|
0 |
0 |
if (i == 0) |
|
1366
|
0 |
0 |
while (i < size && data[i] == ' ') |
|
|
0 |
0 |
while (i < size && data[i] == ' ') |
|
1371
|
0 |
0 |
if (i < size && data[i] == '{') { |
|
|
0 |
0 |
if (i < size && data[i] == '{') { |
|
1374
|
0 |
0 |
while (i < size && data[i] != '}' && data[i] != '\n') { |
|
|
0 |
0 |
while (i < size && data[i] != '}' && data[i] != '\n') { |
|
|
0 |
0 |
while (i < size && data[i] != '}' && data[i] != '\n') { |
|
1378
|
0 |
0 |
if (i == size || data[i] != '}') |
|
|
0 |
0 |
if (i == size || data[i] != '}') |
|
1383
|
0 |
0 |
while (syn_len > 0 && _isspace(syn_start[0])) { |
|
|
0 |
0 |
while (syn_len > 0 && _isspace(syn_start[0])) { |
|
1387
|
0 |
0 |
while (syn_len > 0 && _isspace(syn_start[syn_len - 1])) |
|
|
0 |
0 |
while (syn_len > 0 && _isspace(syn_start[syn_len - 1])) |
|
1392
|
0 |
0 |
while (i < size && !_isspace(data[i])) { |
|
|
0 |
0 |
while (i < size && !_isspace(data[i])) { |
|
1397
|
0 |
0 |
if (syntax) { |
|
1402
|
0 |
0 |
while (i < size && data[i] != '\n') { |
|
|
0 |
0 |
while (i < size && data[i] != '\n') { |
|
1403
|
0 |
0 |
if (!_isspace(data[i])) |
|
1416
|
17 |
35 |
if (data[0] != '#') |
|
1419
|
0 |
17 |
if (md->ext_flags & HOEDOWN_EXT_SPACE_HEADERS) { |
|
1422
|
0 |
0 |
while (level < size && level < 6 && data[level] == '#') |
|
|
0 |
0 |
while (level < size && level < 6 && data[level] == '#') |
|
1425
|
0 |
0 |
if (level < size && data[level] != ' ') |
|
|
0 |
0 |
if (level < size && data[level] != ' ') |
|
1439
|
0 |
11 |
if (data[i] == '=') { |
|
1440
|
0 |
0 |
for (i = 1; i < size && data[i] == '='; i++); |
|
|
0 |
0 |
for (i = 1; i < size && data[i] == '='; i++); |
|
1441
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
1442
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 1 : 0; } |
|
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 1 : 0; } |
|
1445
|
0 |
11 |
if (data[i] == '-') { |
|
1446
|
0 |
0 |
for (i = 1; i < size && data[i] == '-'; i++); |
|
|
0 |
0 |
for (i = 1; i < size && data[i] == '-'; i++); |
|
1447
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
|
0 |
0 |
while (i < size && data[i] == ' ') i++; |
|
1448
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 2 : 0; } |
|
|
0 |
0 |
return (i >= size || data[i] == '\n') ? 2 : 0; } |
|
1458
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
1461
|
0 |
0 |
if (++i >= size) |
|
1472
|
15 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
15 |
if (i < size && data[i] == ' ') i++; |
|
1473
|
15 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
15 |
if (i < size && data[i] == ' ') i++; |
|
1474
|
15 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
15 |
if (i < size && data[i] == ' ') i++; |
|
1476
|
15 |
0 |
if (i < size && data[i] == '>') { |
|
|
0 |
15 |
if (i < size && data[i] == '>') { |
|
1477
|
0 |
0 |
if (i + 1 < size && data[i + 1] == ' ') |
|
|
0 |
0 |
if (i + 1 < size && data[i + 1] == ' ') |
|
1490
|
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] == ' ' |
|
1491
|
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; |
|
1502
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1503
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1504
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1506
|
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') |
|
1509
|
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') |
|
1512
|
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] != ' ') |
|
1515
|
0 |
0 |
if (is_next_headerline(data + i, size - i)) |
|
1527
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1528
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1529
|
4 |
0 |
if (i < size && data[i] == ' ') i++; |
|
|
0 |
4 |
if (i < size && data[i] == ' ') i++; |
|
1531
|
4 |
0 |
if (i + 1 >= size || |
|
|
0 |
4 |
if (i + 1 >= size || |
|
1532
|
0 |
0 |
(data[i] != '*' && data[i] != '+' && data[i] != '-') || |
|
1536
|
0 |
0 |
if (is_next_headerline(data + i, size - i)) |
|
1558
|
0 |
0 |
while (beg < size) { |
|
1559
|
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++); |
|
1563
|
0 |
0 |
if (pre) |
|
1567
|
0 |
0 |
else if (is_empty(data + beg, end - beg) && |
|
|
0 |
0 |
else if (is_empty(data + beg, end - beg) && |
|
1568
|
0 |
0 |
(end >= size || (prefix_quote(data + end, size - end) == 0 && |
|
|
0 |
0 |
(end >= size || (prefix_quote(data + end, size - end) == 0 && |
|
1572
|
0 |
0 |
if (beg < end) { /* copy into the in-place working buffer */ |
|
1574
|
0 |
0 |
if (!work_data) |
|
1576
|
0 |
0 |
else if (data + beg != work_data + work_size) |
|
1584
|
0 |
0 |
if (md->md.blockquote) |
|
1601
|
14 |
1 |
while (i < size) { |
|
1602
|
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 */; |
|
1604
|
11 |
3 |
if (is_empty(data + i, size - i)) |
|
1607
|
11 |
0 |
if ((level = is_headerline(data + i, size - i)) != 0) |
|
1611
|
11 |
0 |
is_hrule(data + i, size - i) || |
|
1626
|
0 |
11 |
if ((md->ext_flags & HOEDOWN_EXT_LAX_SPACING) && !isalnum(data[i])) { |
|
|
0 |
0 |
if ((md->ext_flags & HOEDOWN_EXT_LAX_SPACING) && !isalnum(data[i])) { |
|
1634
|
0 |
0 |
if (data[i] == '<' && md->md.blockhtml && |
|
1652
|
8 |
0 |
while (work.size && data[work.size - 1] == '\n') |
|
|
4 |
4 |
while (work.size && data[work.size - 1] == '\n') |
|
1655
|
4 |
0 |
if (!level) { |
|
1658
|
4 |
0 |
if (md->md.paragraph) |
|
1664
|
0 |
0 |
if (work.size) { |
|
1669
|
0 |
0 |
while (work.size && data[work.size] != '\n') |
|
|
0 |
0 |
while (work.size && data[work.size] != '\n') |
|
1673
|
0 |
0 |
while (work.size && data[work.size - 1] == '\n') |
|
|
0 |
0 |
while (work.size && data[work.size - 1] == '\n') |
|
1676
|
0 |
0 |
if (work.size > 0) { |
|
1680
|
0 |
0 |
if (md->md.paragraph) |
|
1693
|
0 |
0 |
if (md->md.header) |
|
1711
|
0 |
0 |
if (beg == 0) return 0; |
|
1715
|
0 |
0 |
while (beg < size) { |
|
1720
|
0 |
0 |
if (fence_end != 0 && fence_trail.size == 0) { |
|
|
0 |
0 |
if (fence_end != 0 && fence_trail.size == 0) { |
|
1725
|
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++); |
|
1727
|
0 |
0 |
if (beg < end) { |
|
1730
|
0 |
0 |
if (is_empty(data + beg, end - beg)) |
|
1737
|
0 |
0 |
if (work->size && work->data[work->size - 1] != '\n') |
|
|
0 |
0 |
if (work->size && work->data[work->size - 1] != '\n') |
|
1740
|
0 |
0 |
if (md->md.blockcode) |
|
1741
|
0 |
0 |
md->md.blockcode(ob, work, lang.size ? &lang : NULL, md->md.opaque); |
|
1756
|
0 |
0 |
while (beg < size) { |
|
1757
|
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++) {}; |
|
1760
|
0 |
0 |
if (pre) |
|
1762
|
0 |
0 |
else if (!is_empty(data + beg, end - beg)) |
|
1766
|
0 |
0 |
if (beg < end) { |
|
1769
|
0 |
0 |
if (is_empty(data + beg, end - beg)) |
|
1776
|
0 |
0 |
while (work->size && work->data[work->size - 1] == '\n') |
|
|
0 |
0 |
while (work->size && work->data[work->size - 1] == '\n') |
|
1781
|
0 |
0 |
if (md->md.blockcode) |
|
1798
|
0 |
0 |
while (orgpre < 3 && orgpre < size && data[orgpre] == ' ') |
|
|
0 |
0 |
while (orgpre < 3 && orgpre < size && data[orgpre] == ' ') |
|
1802
|
0 |
0 |
if (!beg) |
|
1805
|
0 |
0 |
if (!beg) |
|
1810
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
1822
|
0 |
0 |
while (beg < size) { |
|
1827
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
|
0 |
0 |
while (end < size && data[end - 1] != '\n') |
|
1831
|
0 |
0 |
if (is_empty(data + beg, end - beg)) { |
|
1839
|
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] == ' ') |
|
1844
|
0 |
0 |
if (md->ext_flags & HOEDOWN_EXT_FENCED_CODE) { |
|
1845
|
0 |
0 |
if (is_codefence(data + beg + i, end - beg - i, NULL) != 0) |
|
1851
|
0 |
0 |
if (!in_fence) { |
|
1857
|
0 |
0 |
if (in_empty && ( |
|
|
0 |
0 |
if (in_empty && ( |
|
1858
|
0 |
0 |
((*flags & HOEDOWN_LIST_ORDERED) && has_next_uli) || |
|
|
0 |
0 |
((*flags & HOEDOWN_LIST_ORDERED) && has_next_uli) || |
|
1859
|
0 |
0 |
(!(*flags & HOEDOWN_LIST_ORDERED) && has_next_oli))){ |
|
1865
|
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) { |
|
1866
|
0 |
0 |
if (in_empty) |
|
1869
|
0 |
0 |
if (pre == orgpre) /* the following item must have */ |
|
1872
|
0 |
0 |
if (!sublist) |
|
1878
|
0 |
0 |
else if (in_empty && pre == 0) { |
|
1882
|
0 |
0 |
else if (in_empty) { |
|
1895
|
0 |
0 |
if (has_inside_empty) |
|
1898
|
0 |
0 |
if (*flags & HOEDOWN_LI_BLOCK) { |
|
1900
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
1908
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
|
0 |
0 |
if (sublist && sublist < work->size) { |
|
1917
|
0 |
0 |
if (md->md.listitem) |
|
1935
|
0 |
0 |
while (i < size) { |
|
1939
|
0 |
0 |
if (!j || (flags & HOEDOWN_LI_END)) |
|
|
0 |
0 |
if (!j || (flags & HOEDOWN_LI_END)) |
|
1943
|
0 |
0 |
if (md->md.list) |
|
1956
|
48 |
0 |
while (level < size && level < 6 && data[level] == '#') |
|
|
31 |
17 |
while (level < size && level < 6 && data[level] == '#') |
|
1959
|
34 |
0 |
for (i = level; i < size && data[i] == ' '; i++); |
|
|
17 |
17 |
for (i = level; i < size && data[i] == ' '; i++); |
|
1961
|
75 |
0 |
for (end = i; end < size && data[end] != '\n'; end++); |
|
|
58 |
17 |
for (end = i; end < size && data[end] != '\n'; end++); |
|
1964
|
17 |
0 |
while (end && data[end - 1] == '#') |
|
|
0 |
17 |
while (end && data[end - 1] == '#') |
|
1967
|
17 |
0 |
while (end && data[end - 1] == ' ') |
|
|
0 |
17 |
while (end && data[end - 1] == ' ') |
|
1970
|
17 |
0 |
if (end > i) { |
|
1975
|
17 |
0 |
if (md->md.header) |
|
1993
|
0 |
0 |
if (md->md.footnote_def) |
|
2006
|
0 |
1 |
if (footnotes->count == 0) |
|
2012
|
0 |
0 |
while (item) { |
|
2018
|
0 |
0 |
if (md->md.footnotes) |
|
2036
|
0 |
0 |
if (tag_len + 3 >= size || |
|
|
0 |
0 |
if (tag_len + 3 >= size || |
|
2037
|
0 |
0 |
strncasecmp((char *)data + 2, tag, tag_len) != 0 || |
|
2044
|
0 |
0 |
if (i < size && (w = is_empty(data + i, size - i)) == 0) |
|
|
0 |
0 |
if (i < size && (w = is_empty(data + i, size - i)) == 0) |
|
2049
|
0 |
0 |
if (i < size) |
|
2066
|
0 |
0 |
while (i < size) { |
|
2068
|
0 |
0 |
while (i < size && !(data[i - 1] == '<' && data[i] == '/')) { |
|
|
0 |
0 |
while (i < size && !(data[i - 1] == '<' && data[i] == '/')) { |
|
|
0 |
0 |
while (i < size && !(data[i - 1] == '<' && data[i] == '/')) { |
|
2069
|
0 |
0 |
if (data[i] == '\n') |
|
2082
|
0 |
0 |
if (start_of_line && block_lines > 0 && data[i - 2] != '\n') |
|
|
0 |
0 |
if (start_of_line && block_lines > 0 && data[i - 2] != '\n') |
|
2085
|
0 |
0 |
if (i + 2 + tag_size >= size) |
|
2089
|
0 |
0 |
if (end_tag) |
|
2106
|
0 |
0 |
if (size < 2 || data[0] != '<') |
|
|
0 |
0 |
if (size < 2 || data[0] != '<') |
|
2110
|
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] != ' ') |
|
2113
|
0 |
0 |
if (i < size) |
|
2117
|
0 |
0 |
if (!curtag) { |
|
2120
|
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] == '-') { |
|
2123
|
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] == '>')) |
|
2128
|
0 |
0 |
if (i < size) |
|
2131
|
0 |
0 |
if (j) { |
|
2133
|
0 |
0 |
if (do_render && md->md.blockhtml) |
|
|
0 |
0 |
if (do_render && md->md.blockhtml) |
|
2140
|
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')) { |
|
2142
|
0 |
0 |
while (i < size && data[i] != '>') |
|
|
0 |
0 |
while (i < size && data[i] != '>') |
|
2145
|
0 |
0 |
if (i + 1 < size) { |
|
2148
|
0 |
0 |
if (j) { |
|
2150
|
0 |
0 |
if (do_render && md->md.blockhtml) |
|
|
0 |
0 |
if (do_render && md->md.blockhtml) |
|
2167
|
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) { |
|
2171
|
0 |
0 |
if (!tag_end) |
|
2176
|
0 |
0 |
if (do_render && md->md.blockhtml) |
|
|
0 |
0 |
if (do_render && md->md.blockhtml) |
|
2195
|
0 |
0 |
if (!md->md.table_cell || !md->md.table_row) |
|
|
0 |
0 |
if (!md->md.table_cell || !md->md.table_row) |
|
2200
|
0 |
0 |
if (i < size && data[i] == '|') |
|
|
0 |
0 |
if (i < size && data[i] == '|') |
|
2203
|
0 |
0 |
for (col = 0; col < columns && i < size; ++col) { |
|
2209
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
|
0 |
0 |
while (i < size && _isspace(data[i])) |
|
2214
|
0 |
0 |
while (i < size && data[i] != '|') |
|
|
0 |
0 |
while (i < size && data[i] != '|') |
|
2219
|
0 |
0 |
while (cell_end > cell_start && _isspace(data[cell_end])) |
|
|
0 |
0 |
while (cell_end > cell_start && _isspace(data[cell_end])) |
|
2229
|
0 |
0 |
for (; col < columns; ++col) { |
|
2252
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
2253
|
0 |
0 |
if (data[i++] == '|') |
|
2256
|
0 |
0 |
if (i == size || pipes == 0) |
|
2261
|
0 |
0 |
while (header_end > 0 && _isspace(data[header_end - 1])) |
|
|
0 |
0 |
while (header_end > 0 && _isspace(data[header_end - 1])) |
|
2264
|
0 |
0 |
if (data[0] == '|') |
|
2267
|
0 |
0 |
if (header_end && data[header_end - 1] == '|') |
|
|
0 |
0 |
if (header_end && data[header_end - 1] == '|') |
|
2270
|
0 |
0 |
if (pipes < 0) |
|
2278
|
0 |
0 |
if (i < size && data[i] == '|') |
|
|
0 |
0 |
if (i < size && data[i] == '|') |
|
2282
|
0 |
0 |
while (under_end < size && data[under_end] != '\n') |
|
|
0 |
0 |
while (under_end < size && data[under_end] != '\n') |
|
2285
|
0 |
0 |
for (col = 0; col < *columns && i < under_end; ++col) { |
|
|
0 |
0 |
for (col = 0; col < *columns && i < under_end; ++col) { |
|
2288
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
2291
|
0 |
0 |
if (data[i] == ':') { |
|
2296
|
0 |
0 |
while (i < under_end && data[i] == '-') { |
|
|
0 |
0 |
while (i < under_end && data[i] == '-') { |
|
2300
|
0 |
0 |
if (i < under_end && data[i] == ':') { |
|
|
0 |
0 |
if (i < under_end && data[i] == ':') { |
|
2305
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
|
0 |
0 |
while (i < under_end && data[i] == ' ') |
|
2308
|
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] != '+') |
|
2311
|
0 |
0 |
if (dashes < 3) |
|
2317
|
0 |
0 |
if (col < *columns) |
|
2350
|
0 |
0 |
if (i > 0) { |
|
2352
|
0 |
0 |
while (i < size) { |
|
2358
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
|
0 |
0 |
while (i < size && data[i] != '\n') |
|
2359
|
0 |
0 |
if (data[i++] == '|') |
|
2362
|
0 |
0 |
if (pipes == 0 || i == size) { |
|
2379
|
0 |
0 |
if (md->md.table) |
|
2397
|
6 |
0 |
if (md->work_bufs[BUFFER_SPAN].size + |
|
2401
|
41 |
6 |
while (beg < size) { |
|
2405
|
17 |
24 |
if (is_atxheader(md, txt_data, end)) |
|
2408
|
0 |
24 |
else if (data[beg] == '<' && md->md.blockhtml && |
|
|
0 |
0 |
else if (data[beg] == '<' && md->md.blockhtml && |
|
|
0 |
0 |
else if (data[beg] == '<' && md->md.blockhtml && |
|
2412
|
20 |
4 |
else if ((i = is_empty(txt_data, end)) != 0) |
|
2415
|
0 |
4 |
else if (is_hrule(txt_data, end)) { |
|
2416
|
0 |
0 |
if (md->md.hrule) |
|
2419
|
0 |
0 |
while (beg < size && data[beg] != '\n') |
|
|
0 |
0 |
while (beg < size && data[beg] != '\n') |
|
2425
|
0 |
4 |
else if ((md->ext_flags & HOEDOWN_EXT_FENCED_CODE) != 0 && |
|
|
0 |
0 |
else if ((md->ext_flags & HOEDOWN_EXT_FENCED_CODE) != 0 && |
|
2429
|
0 |
4 |
else if ((md->ext_flags & HOEDOWN_EXT_TABLES) != 0 && |
|
|
0 |
0 |
else if ((md->ext_flags & HOEDOWN_EXT_TABLES) != 0 && |
|
2433
|
0 |
4 |
else if (prefix_quote(txt_data, end)) |
|
2436
|
4 |
0 |
else if (!(md->ext_flags & HOEDOWN_EXT_DISABLE_INDENTED_CODE) && prefix_code(txt_data, end)) |
|
|
0 |
4 |
else if (!(md->ext_flags & HOEDOWN_EXT_DISABLE_INDENTED_CODE) && prefix_code(txt_data, end)) |
|
2439
|
0 |
4 |
else if (prefix_uli(txt_data, end)) |
|
2442
|
0 |
4 |
else if (prefix_oli(txt_data, end)) |
|
2469
|
16 |
1 |
if (beg + 3 >= end) return 0; |
|
2470
|
3 |
13 |
if (data[beg] == ' ') { i = 1; |
|
2471
|
0 |
3 |
if (data[beg + 1] == ' ') { i = 2; |
|
2472
|
0 |
0 |
if (data[beg + 2] == ' ') { i = 3; |
|
2473
|
0 |
0 |
if (data[beg + 3] == ' ') return 0; } } } |
|
2477
|
4 |
12 |
if (data[i] != '[') return 0; |
|
2479
|
4 |
0 |
if (i >= end || data[i] != '^') return 0; |
|
|
0 |
4 |
if (i >= end || data[i] != '^') return 0; |
|
2482
|
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] != ']') |
|
2484
|
0 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
|
0 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
2489
|
0 |
0 |
if (i >= end || data[i] != ':') return 0; |
|
|
0 |
0 |
if (i >= end || data[i] != ':') return 0; |
|
2498
|
0 |
0 |
while (i < end) { |
|
2499
|
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++; |
|
2502
|
0 |
0 |
if (is_empty(data + start, i - start)) { |
|
2504
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
2506
|
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++; |
|
2514
|
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] == ' ') |
|
2520
|
0 |
0 |
if (ind == 0) { |
|
2521
|
0 |
0 |
if (start == id_end + 2 && data[start] == '\t') {} |
|
|
0 |
0 |
if (start == id_end + 2 && data[start] == '\t') {} |
|
2524
|
0 |
0 |
else if (in_empty) { |
|
2533
|
0 |
0 |
if (i < end) { |
|
2535
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
2537
|
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++; |
|
2543
|
0 |
0 |
if (last) |
|
2546
|
0 |
0 |
if (list) { |
|
2549
|
0 |
0 |
if (!ref) |
|
2551
|
0 |
0 |
if (!add_footnote_ref(list, ref)) { |
|
2573
|
33 |
1 |
if (beg + 3 >= end) return 0; |
|
2574
|
3 |
30 |
if (data[beg] == ' ') { i = 1; |
|
2575
|
0 |
3 |
if (data[beg + 1] == ' ') { i = 2; |
|
2576
|
0 |
0 |
if (data[beg + 2] == ' ') { i = 3; |
|
2577
|
0 |
0 |
if (data[beg + 3] == ' ') return 0; } } } |
|
2581
|
4 |
29 |
if (data[i] != '[') return 0; |
|
2584
|
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] != ']') |
|
2586
|
4 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
|
4 |
0 |
if (i >= end || data[i] != ']') return 0; |
|
2591
|
4 |
0 |
if (i >= end || data[i] != ':') return 0; |
|
|
3 |
1 |
if (i >= end || data[i] != ':') return 0; |
|
2593
|
6 |
0 |
while (i < end && data[i] == ' ') i++; |
|
|
3 |
3 |
while (i < end && data[i] == ' ') i++; |
|
2594
|
3 |
0 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
|
0 |
3 |
if (i < end && (data[i] == '\n' || data[i] == '\r')) { |
|
2596
|
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++; } |
|
2597
|
3 |
0 |
while (i < end && data[i] == ' ') i++; |
|
|
0 |
3 |
while (i < end && data[i] == ' ') i++; |
|
2598
|
3 |
0 |
if (i >= end) return 0; |
|
2601
|
0 |
3 |
if (data[i] == '<') |
|
2606
|
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') |
|
2609
|
0 |
3 |
if (data[i - 1] == '>') link_end = i - 1; |
|
2613
|
17 |
0 |
while (i < end && data[i] == ' ') i++; |
|
|
14 |
3 |
while (i < end && data[i] == ' ') i++; |
|
2614
|
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' |
|
2615
|
3 |
0 |
&& data[i] != '\'' && data[i] != '"' && data[i] != '(') |
|
|
0 |
3 |
&& data[i] != '\'' && data[i] != '"' && data[i] != '(') |
|
|
0 |
0 |
&& data[i] != '\'' && data[i] != '"' && data[i] != '(') |
|
2619
|
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; |
|
2620
|
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') |
|
2624
|
0 |
3 |
if (line_end) { |
|
2626
|
0 |
0 |
while (i < end && data[i] == ' ') i++; } |
|
|
0 |
0 |
while (i < end && data[i] == ' ') i++; } |
|
2631
|
3 |
0 |
if (i + 1 < end |
|
2632
|
0 |
3 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == '(')) { |
|
|
0 |
0 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == '(')) { |
|
2636
|
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++; |
|
2637
|
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') |
|
2642
|
3 |
0 |
while (i > title_offset && data[i] == ' ') |
|
|
0 |
3 |
while (i > title_offset && data[i] == ' ') |
|
2644
|
3 |
0 |
if (i > title_offset |
|
2645
|
0 |
3 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == ')')) { |
|
|
0 |
0 |
&& (data[i] == '\'' || data[i] == '"' || data[i] == ')')) { |
|
2649
|
3 |
0 |
if (!line_end || link_end == link_offset) |
|
2653
|
3 |
0 |
if (last) |
|
2656
|
3 |
0 |
if (refs) { |
|
2660
|
3 |
0 |
if (!ref) |
|
2666
|
3 |
0 |
if (title_end > title_offset) { |
|
2679
|
28 |
0 |
while (i < size) { |
|
2682
|
389 |
28 |
while (i < size && line[i] != '\t') { |
|
|
389 |
0 |
while (i < size && line[i] != '\t') { |
|
2686
|
28 |
0 |
if (i > org) |
|
2689
|
0 |
28 |
if (i >= size) |
|
2694
|
0 |
0 |
} while (tab % 4); |
|
2712
|
0 |
6 |
assert(max_nesting > 0 && renderer); |
|
2715
|
6 |
0 |
if (!md) |
|
2725
|
1 |
5 |
if (md->md.emphasis || md->md.double_emphasis || md->md.triple_emphasis) { |
|
|
1 |
0 |
if (md->md.emphasis || md->md.double_emphasis || md->md.triple_emphasis) { |
|
|
0 |
1 |
if (md->md.emphasis || md->md.double_emphasis || md->md.triple_emphasis) { |
|
2728
|
0 |
5 |
if (extensions & HOEDOWN_EXT_STRIKETHROUGH) |
|
2730
|
0 |
5 |
if (extensions & HOEDOWN_EXT_HIGHLIGHT) |
|
2734
|
6 |
0 |
if (md->md.codespan) |
|
2737
|
5 |
1 |
if (md->md.linebreak) |
|
2740
|
1 |
5 |
if (md->md.image || md->md.link) |
|
|
1 |
0 |
if (md->md.image || md->md.link) |
|
2747
|
2 |
4 |
if (extensions & HOEDOWN_EXT_AUTOLINK) { |
|
2753
|
0 |
6 |
if (extensions & HOEDOWN_EXT_SUPERSCRIPT) |
|
2756
|
0 |
6 |
if (extensions & HOEDOWN_EXT_QUOTE) |
|
2778
|
6 |
0 |
if (!text) |
|
2790
|
1 |
5 |
if (footnotes_enabled) { |
|
2800
|
6 |
0 |
if (doc_size >= 3 && memcmp(document, UTF8_BOM, 3) == 0) |
|
|
0 |
6 |
if (doc_size >= 3 && memcmp(document, UTF8_BOM, 3) == 0) |
|
2803
|
34 |
6 |
while (beg < doc_size) /* iterating over lines */ |
|
2804
|
17 |
17 |
if (footnotes_enabled && is_footnote(document, beg, doc_size, &end, &md->footnotes_found)) |
|
|
0 |
17 |
if (footnotes_enabled && is_footnote(document, beg, doc_size, &end, &md->footnotes_found)) |
|
2806
|
3 |
31 |
else if (is_ref(document, beg, doc_size, &end, md->refs)) |
|
2810
|
417 |
3 |
while (end < doc_size && document[end] != '\n' && document[end] != '\r') |
|
|
389 |
28 |
while (end < doc_size && document[end] != '\n' && document[end] != '\r') |
|
|
389 |
0 |
while (end < doc_size && document[end] != '\n' && document[end] != '\r') |
|
2814
|
28 |
3 |
if (end > beg) |
|
2817
|
56 |
6 |
while (end < doc_size && (document[end] == '\n' || document[end] == '\r')) { |
|
|
31 |
25 |
while (end < doc_size && (document[end] == '\n' || document[end] == '\r')) { |
|
2819
|
0 |
31 |
if (document[end] == '\n' || (end + 1 < doc_size && document[end + 1] != '\n')) |
|
|
0 |
0 |
if (document[end] == '\n' || (end + 1 < doc_size && document[end + 1] != '\n')) |
|
|
0 |
0 |
if (document[end] == '\n' || (end + 1 < doc_size && document[end + 1] != '\n')) |
|
2831
|
1 |
5 |
if (md->md.doc_header) |
|
2834
|
6 |
0 |
if (text->size) { |
|
2836
|
3 |
3 |
if (text->data[text->size - 1] != '\n' && text->data[text->size - 1] != '\r') |
|
2843
|
1 |
5 |
if (footnotes_enabled) |
|
2846
|
2 |
4 |
if (md->md.doc_footer) |
|
2852
|
1 |
5 |
if (footnotes_enabled) { |
|
2857
|
0 |
6 |
assert(md->work_bufs[BUFFER_SPAN].size == 0); |
|
2858
|
0 |
6 |
assert(md->work_bufs[BUFFER_BLOCK].size == 0); |
|
2866
|
0 |
0 |
for (i = 0; i < (size_t)md->work_bufs[BUFFER_SPAN].asize; ++i) |
|
2869
|
0 |
0 |
for (i = 0; i < (size_t)md->work_bufs[BUFFER_BLOCK].asize; ++i) |