0
#include "my_getopt-1.5/getopt.h"
0
extern char *strdup(const char *string);
0
-static int extensions
= 0;
0
/**********************************************************************
0
print_html_string(elt.contents.str, obfuscate);
0
print_html_string(elt.contents.str, obfuscate);
0
* is no blank line. We split the string by \001 and parse
0
* each chunk separately. */
0
contents = strtok(elt.contents.str, "\001");
0
- print_html_element(markdown(
extensions, contents), obfuscate);
0
+ print_html_element(markdown(
contents, extensions), obfuscate);
0
while ((contents = strtok(NULL, "\001")))
0
- print_html_element(markdown(
extensions, contents), obfuscate);
0
+ print_html_element(markdown(
contents, extensions), obfuscate);
0
printf("<blockquote>");
0
- print_html_element(markdown(e
xtensions, elt.contents.str), obfuscate);
0
+ print_html_element(markdown(e
lt.contents.str, extensions), obfuscate);
0
printf("</blockquote>");
0
print_latex_string(elt.contents.str);
0
print_latex_string(elt.contents.str);
0
* is no blank line. We split the string by \001 and parse
0
* each chunk separately. */
0
contents = strtok(elt.contents.str, "\001");
0
- print_latex_element(markdown(
extensions, contents));
0
+ print_latex_element(markdown(
contents, extensions));
0
while ((contents = strtok(NULL, "\001")))
0
- print_latex_element(markdown(
extensions, contents));
0
+ print_latex_element(markdown(
contents, extensions));
0
printf("\\begin{quote}");
0
- print_latex_element(markdown(e
xtensions, elt.contents.str));
0
+ print_latex_element(markdown(e
lt.contents.str, extensions));
0
printf("\\end{quote}\n\n");
0
print_groff_string(elt.contents.str);
0
print_groff_string(elt.contents.str);
0
* each chunk separately. */
0
contents = strtok(elt.contents.str, "\001");
0
- print_groff_mm_element(markdown(
extensions, contents), 1);
0
+ print_groff_mm_element(markdown(
contents, extensions), 1);
0
while ((contents = strtok(NULL, "\001"))) {
0
- print_groff_mm_element(markdown(
extensions, contents), 1);
0
+ print_groff_mm_element(markdown(
contents, extensions), 1);
0
- print_groff_mm_element(markdown(e
xtensions, elt.contents.str), 1);
0
+ print_groff_mm_element(markdown(e
lt.contents.str, extensions), 1);
0
printf("Usage: %s [options] [FILE]...\n"
0
- "-t FORMAT or --to FORMAT convert to FORMAT (default is html)\n"
0
- " FORMAT = html|latex|groff-mm\n"
0
- "-o FILE or --output FILE send output to FILE (default is stdout)\n"
0
- "-V or --version print program version and exit\n"
0
- "-h or --help show this message and exit\n",
0
+ "-t FORMAT or --to FORMAT convert to FORMAT (default is html)\n"
0
+ " FORMAT = html|latex|groff-mm\n"
0
+ "-o FILE or --output FILE send output to FILE (default is stdout)\n"
0
+ "-x[EXTS] or --extensions [EXTS] use syntax extensions (all if EXTS not specified)\n"
0
+ " EXTS = smart, ...\n"
0
+ "-V or --version print program version and exit\n"
0
+ "-h or --help show this message and exit\n",
0
/* the output filename is initially 0 (a.k.a. stdout) */
0
enum formats { HTML_FORMAT,
0
int output_format = HTML_FORMAT;
0
- char *shortopts = "Vh
o:t:";
0
+ char *shortopts = "Vh
x::o:t:";
0
/* long options list */
0
struct option longopts[] =
0
{ "help", no_argument, 0, 'h' }, /* 1 */
0
{ "output", required_argument, 0, 'o' }, /* 2 */
0
{ "to", required_argument, 0, 't' }, /* 3 */
0
+ { "extensions", optional_argument, 0, 'x' }, /* 3 */
0
/* end-of-list marker */
0
/* long option list index */
0
/* parse all options from the command line */
0
while ((opt = getopt_long_only(argc, argv, shortopts, longopts, &longind)) != -1)
0
case 'V': /* -version */
0
- case 'h': /* -
version */
0
+ case 'x': /* -extended */
0
+ extensions = 0xFFFFFF; /* turn on all extensions */
0
+ exts = strtok(optarg, ",");
0
+ while (exts != NULL) {
0
+ if (strcmp(exts, "smart") == 0)
0
+ extensions = extensions | EXT_SMART;
0
+ fprintf(stderr, "%s: Unknown extension '%s'\n", progname, exts);
0
+ exts = strtok(NULL, ",");
0
if (strcmp(format, "html") == 0)
0
strcat(inputbuf, strdup("\n\n")); /* add newlines to end to match Markdown.pl behavior */
0
- element parsed_input = markdown(extensions, inputbuf);
0
+ element parsed_input = markdown(inputbuf, extensions);
0
switch (output_format) {
Comments
No one has commented yet.