summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgottox@rootkit.lan <gottox@rootkit.lan>2007-12-15 00:51:51 +0100
committergottox@rootkit.lan <gottox@rootkit.lan>2007-12-15 00:51:51 +0100
commit8d469f51deef8f33fa20393c36b69a0abec15e9e (patch)
treeda186477534bda81c3d977c9e43c8cd7d2d3bc77
parent856c68dc8d193cc772dfe714f251ca2600b720c2 (diff)
now dolist works in non block context
-rw-r--r--cmarkdown.c10
1 files changed, 7 insertions, 3 deletions
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 ? "<ul>\n" : "<ol>\n",stdout);
run = 1;
for(i = 0; *p && p < end && run; p++) {
@@ -527,7 +532,6 @@ main(int argc, char *argv[]) {
}
}
process(buffer,buffer+strlen(buffer),1);
- putchar('\n');
free(buffer);
return EXIT_SUCCESS;
}