Sha256: f8f74514579ee9ef784831e271e6e481a7aa493f519aa8f952d1fd00191bdf34
Contents?: true
Size: 1.6 KB
Versions: 4
Compression:
Stored size: 1.6 KB
Contents
/* markdown: a C implementation of John Gruber's Markdown markup language. * * Copyright (C) 2009 David L Parsons. * The redistribution terms are provided in the COPYRIGHT file that must * be distributed with this source code. */ #include <stdio.h> #include <string.h> #include <stdarg.h> #include <stdlib.h> #include <time.h> #include <ctype.h> #include "config.h" #include "cstring.h" #include "markdown.h" #include "amalloc.h" /* * dump out stylesheet sections. */ static void stylesheets(Paragraph *p, Cstring *f) { Line* q; for ( ; p ; p = p->next ) { if ( p->typ == STYLE ) { for ( q = p->text; q ; q = q->next ) { Cswrite(f, T(q->text), S(q->text)); Csputc('\n', f); } } if ( p->down ) stylesheets(p->down, f); } } /* dump any embedded styles to a string */ int mkd_css(Document *d, char **res) { Cstring f; int size; if ( res && d && d->compiled ) { *res = 0; CREATE(f); RESERVE(f, 100); stylesheets(d->code, &f); if ( (size = S(f)) > 0 ) { EXPAND(f) = 0; /* HACK ALERT! HACK ALERT! HACK ALERT! */ *res = T(f);/* we know that a T(Cstring) is a character pointer */ /* so we can simply pick it up and carry it away, */ /* leaving the husk of the Ctring on the stack */ /* END HACK ALERT */ } else DELETE(f); return size; } return EOF; } /* dump any embedded styles to a file */ int mkd_generatecss(Document *d, FILE *f) { char *res; int written; int size = mkd_css(d, &res); written = (size > 0) ? fwrite(res,1,size,f) : 0; if ( res ) free(res); return (written == size) ? size : EOF; }
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
rdiscountwl-1.0.0.1 | ext/css.c |
rdiscount-2.2.0.2 | ext/css.c |
rdiscount-2.2.0.1 | ext/css.c |
rdiscount-2.2.0 | ext/css.c |