blob: b6af1e7b405495ec02c6b434d5aa37df656794c9 [file] [log] [blame]
/*
* 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 = unsharp("#9/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);
}