diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/htmlroff/main.c |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/htmlroff/main.c')
-rwxr-xr-x | sys/src/cmd/htmlroff/main.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sys/src/cmd/htmlroff/main.c b/sys/src/cmd/htmlroff/main.c new file mode 100755 index 000000000..9e23e73c0 --- /dev/null +++ b/sys/src/cmd/htmlroff/main.c @@ -0,0 +1,72 @@ +/* + * Convert troff -ms input to HTML. + */ + +#include "a.h" + +Biobuf bout; +char* tmacdir; +int verbose; +int utf8 = 0; + +void +usage(void) +{ + fprint(2, "usage: htmlroff [-iuv] [-m mac] [-r an] [file...]\n"); + exits("usage"); +} + +void +main(int argc, char **argv) +{ + int i, dostdin; + char *p; + Rune *r; + Rune buf[2]; + + Binit(&bout, 1, OWRITE); + fmtinstall('L', linefmt); + quotefmtinstall(); + + tmacdir = "/sys/lib/tmac"; + dostdin = 0; + ARGBEGIN{ + case 'i': + dostdin = 1; + break; + case 'm': + r = erunesmprint("%s/tmac.%s", tmacdir, EARGF(usage())); + if(queueinputfile(r) < 0) + fprint(2, "%S: %r\n", r); + break; + case 'r': + p = EARGF(usage()); + p += chartorune(buf, p); + buf[1] = 0; + _nr(buf, erunesmprint("%s", p+1)); + break; + case 'u': + utf8 = 1; + break; + case 'v': + verbose = 1; + break; + default: + usage(); + }ARGEND + + for(i=0; i<argc; i++){ + if(strcmp(argv[i], "-") == 0) + queuestdin(); + else + queueinputfile(erunesmprint("%s", argv[i])); + } + if(argc == 0 || dostdin) + queuestdin(); + + run(); + Bprint(&bout, "\n"); + Bterm(&bout); + exits(nil); +} + |