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