X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=src%2Fparser.c;h=9d8e2efcb086fa47d5c55ac1f9648e4196fad635;hb=37640d707f7f7a1fd864d8f22baa8ada756c7984;hp=d81a2cb259b612b596ba8414cfba5eb6d323c54e;hpb=3e6d7001c4058b93281645e72ad1e223280b8589;p=smdp.git diff --git a/src/parser.c b/src/parser.c index d81a2cb..9d8e2ef 100644 --- a/src/parser.c +++ b/src/parser.c @@ -89,9 +89,11 @@ deck_t *markdown_load(FILE *input) { slide = next_slide(slide); sc++; - } else if(CHECK_BIT(bits, IS_TILDE_CODE) && CHECK_BIT(bits, IS_EMPTY)) { - // remove tilde code markers - (text->reset)(text); + } else if(CHECK_BIT(bits, IS_TILDE_CODE) && + CHECK_BIT(bits, IS_EMPTY)) { + // remove tilde code markers + (text->reset)(text); + } else { // if slide ! has line @@ -346,23 +348,23 @@ int markdown_analyse(cstring_t *text, int prev) { // IS_TILDE_CODE if (wcsncmp(text->value, L"~~~", 3) == 0) { - int tildes_in_line = next_nontilde(text, 0); - if (tildes_in_line >= num_tilde_characters) { - if (num_tilde_characters > 0) { - num_tilde_characters = 0; - } else { - num_tilde_characters = tildes_in_line; - } - SET_BIT(bits, IS_EMPTY); - SET_BIT(bits, IS_TILDE_CODE); - return bits; - } + int tildes_in_line = next_nontilde(text, 0); + if (tildes_in_line >= num_tilde_characters) { + if (num_tilde_characters > 0) { + num_tilde_characters = 0; + } else { + num_tilde_characters = tildes_in_line; + } + SET_BIT(bits, IS_EMPTY); + SET_BIT(bits, IS_TILDE_CODE); + return bits; + } } if (num_tilde_characters > 0) { - SET_BIT(bits, IS_CODE); - SET_BIT(bits, IS_TILDE_CODE); - return bits; + SET_BIT(bits, IS_CODE); + SET_BIT(bits, IS_TILDE_CODE); + return bits; } // IS_STOP @@ -599,7 +601,7 @@ void markdown_debug(deck_t *deck, int debug) { void adjust_line_length(line_t *line) { int l = 0; const static wchar_t *special = L"\\*_`"; // list of interpreted chars - const wchar_t *c = &line->text->value[line->offset]; + const wchar_t *c = &line->text->value[0]; cstack_t *stack = cstack_init(); // for each char in line @@ -647,7 +649,6 @@ int next_nonblank(cstring_t *text, int i) { return i; } - int prev_blank(cstring_t *text, int i) { while ((i > 0) && !iswspace((text->value)[i])) i--;