aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdocml.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-12-03 19:21:58 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-12-03 19:21:58 +0000
commitc68b04faf73c1216350e7e0ad7502734a8cfc21c (patch)
tree23e1dc762eef7a180fc1d6480d5fcc355572deb6 /mdocml.c
parent268539aa79db4cc8381940023764b3d53c9d8c26 (diff)
downloadmandoc-c68b04faf73c1216350e7e0ad7502734a8cfc21c.tar.gz
mandoc-c68b04faf73c1216350e7e0ad7502734a8cfc21c.tar.zst
mandoc-c68b04faf73c1216350e7e0ad7502734a8cfc21c.zip
Major update.
Diffstat (limited to 'mdocml.c')
-rw-r--r--mdocml.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/mdocml.c b/mdocml.c
index 1b8dcc67..70a02a2d 100644
--- a/mdocml.c
+++ b/mdocml.c
@@ -1,4 +1,4 @@
-/* $Id: mdocml.c,v 1.15 2008/12/02 00:10:37 kristaps Exp $ */
+/* $Id: mdocml.c,v 1.16 2008/12/03 19:21:58 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -48,18 +48,21 @@ int
main(int argc, char *argv[])
{
int c;
- char *out, *in;
+ char *out, *in, *filter;
struct md_args args;
extern char *optarg;
extern int optind;
- out = in = NULL;
+ out = in = filter = NULL;
(void)memset(&args, 0, sizeof(struct md_args));
- while (-1 != (c = getopt(argc, argv, "o:vW")))
+ while (-1 != (c = getopt(argc, argv, "f:o:vW")))
switch (c) {
+ case ('f'):
+ filter = optarg;
+ break;
case ('o'):
out = optarg;
break;
@@ -80,6 +83,16 @@ main(int argc, char *argv[])
if (1 == argc)
in = *argv++;
+ if (filter) {
+ if (0 == strcmp(filter, "html"))
+ args.type = MD_HTML;
+ else if (0 == strcmp(filter, "xml"))
+ args.type = MD_XML;
+ else
+ errx(1, "invalid filter type");
+ } else
+ args.type = MD_XML;
+
return(begin_io(&args, out ? out : "-", in ? in : "-"));
}
@@ -220,5 +233,6 @@ usage(void)
{
extern char *__progname;
- (void)printf("usage: %s [-vW] [-o outfile] [infile]\n", __progname);
+ (void)printf("usage: %s [-vW] [-f filter] [-o outfile] "
+ "[infile]\n", __progname);
}