| /* |
| * 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); |
| } |
| |