diff --git a/cmarkdown.c b/cmarkdown.c index 6ff804d..c2cefbe 100644 --- a/cmarkdown.c +++ b/cmarkdown.c @@ -240,9 +240,12 @@ dolist(const char *begin, const char *end, int newblock) { const char *p, *q; char *buffer; - if(!newblock) + if(newblock) + p = begin; + else if(*begin == '\n') + p = begin + 1; + else return 0; - p = begin; q = p; isblock = 0; if((*p == '-' || *p == '*' || *p == '+') && (p[1] == ' ' || p[1] == '\t')) { @@ -260,6 +263,8 @@ dolist(const char *begin, const char *end, int newblock) { if(!(buffer = malloc(BUFFERSIZE))) eprint("Malloc failed."); + if(!newblock) + putchar('\n'); fputs(ul ? "