Blob


1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <draw.h>
5 #include <html.h>
6 #include "dat.h"
8 char *url = "";
9 int aflag;
10 int width = 70;
11 int defcharset;
13 void
14 usage(void)
15 {
16 fprint(2, "usage: htmlfmt [-c charset] [-u URL] [-a] [-l length] [file ...]\n");
17 exits("usage");
18 }
20 void
21 main(int argc, char *argv[])
22 {
23 int i, fd;
24 char *p, *err, *file;
25 char errbuf[ERRMAX];
27 ARGBEGIN{
28 case 'a':
29 aflag++;
30 break;
31 case 'c':
32 p = smprint("<meta charset=\"%s\">", EARGF(usage()));
33 defcharset = charset(p);
34 free(p);
35 break;
36 case 'l': case 'w':
37 err = EARGF(usage());
38 width = atoi(err);
39 if(width <= 0)
40 usage();
41 break;
42 case 'u':
43 url = EARGF(usage());
44 aflag++;
45 break;
46 default:
47 usage();
48 }ARGEND
50 err = nil;
51 file = "<stdin>";
52 if(argc == 0)
53 err = loadhtml(0);
54 else
55 for(i=0; err==nil && i<argc; i++){
56 file = argv[i];
57 fd = open(file, OREAD);
58 if(fd < 0){
59 errstr(errbuf, sizeof errbuf);
60 err = errbuf;
61 break;
62 }
63 err = loadhtml(fd);
64 close(fd);
65 if(err)
66 break;
67 }
68 if(err)
69 fprint(2, "htmlfmt: processing %s: %s\n", file, err);
70 exits(err);
71 }