Sha256: 145c75cfd1ccc5c9c3c0cd4e2c3db1cae59b9a3d8dcef1b9c6df3fd6a3ea5127
Contents?: true
Size: 1.78 KB
Versions: 25
Compression:
Stored size: 1.78 KB
Contents
/* * Copyright (c) 2011, Vicent Marti * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "markdown.h" #include "html.h" #include "buffer.h" #include <errno.h> #include <getopt.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define READ_UNIT 1024 #define OUTPUT_UNIT 64 int main(int argc, char **argv) { struct buf *ib, *ob; size_t ret; FILE *in = stdin; /* opening the file if given from the command line */ if (argc > 1) { in = fopen(argv[1], "r"); if (!in) { fprintf(stderr, "Unable to open input file \"%s\": %s\n", argv[0], strerror(errno)); return 1; } } /* reading everything */ ib = bufnew(READ_UNIT); bufgrow(ib, READ_UNIT); while ((ret = fread(ib->data + ib->size, 1, ib->asize - ib->size, in)) > 0) { ib->size += ret; bufgrow(ib, ib->size + READ_UNIT); } if (in != stdin) fclose(in); /* performing markdown parsing */ ob = bufnew(OUTPUT_UNIT); sdhtml_smartypants(ob, ib->data, ib->size); /* writing the result to stdout */ (void)fwrite(ob->data, 1, ob->size, stdout); /* cleanup */ bufrelease(ib); bufrelease(ob); return 0; } /* vim: set filetype=c: */
Version data entries
25 entries across 25 versions & 2 rubygems