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 void14 usage(void)15 {16 fprint(2, "usage: htmlfmt [-c charset] [-u URL] [-a] [-l length] [file ...]\n");17 exits("usage");18 }20 void21 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 }ARGEND50 err = nil;51 file = "<stdin>";52 if(argc == 0)53 err = loadhtml(0);54 else55 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 }