MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / parse_block

Function parse_block

libraries/hoedown/src/document.c:2412–2470  ·  view source on GitHub ↗

parse_block • parsing of one block, returning next uint8_t to parse */

Source from the content-addressed store, hash-verified

2410
2411/* parse_block • parsing of one block, returning next uint8_t to parse */
2412static void
2413parse_block(hoedown_buffer *ob, hoedown_document *doc, uint8_t *data, size_t size)
2414{
2415 size_t beg, end, i;
2416 uint8_t *txt_data;
2417 beg = 0;
2418
2419 if (doc->work_bufs[BUFFER_SPAN].size +
2420 doc->work_bufs[BUFFER_BLOCK].size > doc->max_nesting)
2421 return;
2422
2423 while (beg < size) {
2424 txt_data = data + beg;
2425 end = size - beg;
2426
2427 if (is_atxheader(doc, txt_data, end))
2428 beg += parse_atxheader(ob, doc, txt_data, end);
2429
2430 else if (data[beg] == '<' && doc->md.blockhtml &&
2431 (i = parse_htmlblock(ob, doc, txt_data, end, 1)) != 0)
2432 beg += i;
2433
2434 else if ((i = is_empty(txt_data, end)) != 0)
2435 beg += i;
2436
2437 else if (is_hrule(txt_data, end)) {
2438 if (doc->md.hrule)
2439 doc->md.hrule(ob, &doc->data);
2440
2441 while (beg < size && data[beg] != '\n')
2442 beg++;
2443
2444 beg++;
2445 }
2446
2447 else if ((doc->ext_flags & HOEDOWN_EXT_FENCED_CODE) != 0 &&
2448 (i = parse_fencedcode(ob, doc, txt_data, end)) != 0)
2449 beg += i;
2450
2451 else if ((doc->ext_flags & HOEDOWN_EXT_TABLES) != 0 &&
2452 (i = parse_table(ob, doc, txt_data, end)) != 0)
2453 beg += i;
2454
2455 else if (prefix_quote(txt_data, end))
2456 beg += parse_blockquote(ob, doc, txt_data, end);
2457
2458 else if (!(doc->ext_flags & HOEDOWN_EXT_DISABLE_INDENTED_CODE) && prefix_code(txt_data, end))
2459 beg += parse_blockcode(ob, doc, txt_data, end);
2460
2461 else if (prefix_uli(txt_data, end))
2462 beg += parse_list(ob, doc, txt_data, end, 0);
2463
2464 else if (prefix_oli(txt_data, end))
2465 beg += parse_list(ob, doc, txt_data, end, HOEDOWN_LIST_ORDERED);
2466
2467 else
2468 beg += parse_paragraph(ob, doc, txt_data, end);
2469 }

Callers 4

parse_blockquoteFunction · 0.85
parse_listitemFunction · 0.85
parse_footnote_defFunction · 0.85
hoedown_document_renderFunction · 0.85

Calls 15

is_atxheaderFunction · 0.85
parse_atxheaderFunction · 0.85
parse_htmlblockFunction · 0.85
is_emptyFunction · 0.85
is_hruleFunction · 0.85
parse_fencedcodeFunction · 0.85
parse_tableFunction · 0.85
prefix_quoteFunction · 0.85
parse_blockquoteFunction · 0.85
prefix_codeFunction · 0.85
parse_blockcodeFunction · 0.85
prefix_uliFunction · 0.85

Tested by

no test coverage detected