[BACK]Return to mdocml.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/Attic/mdocml.c between version 1.10 and 1.16

version 1.10, 2008/11/24 14:24:55 version 1.16, 2008/12/03 19:21:58
Line 48  int
Line 48  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         int              c;          int              c;
         char            *out, *in;          char            *out, *in, *filter;
         struct md_args   args;          struct md_args   args;
   
         extern char     *optarg;          extern char     *optarg;
         extern int       optind;          extern int       optind;
   
         out = in = NULL;          out = in = filter = NULL;
   
         (void)memset(&args, 0, sizeof(struct md_args));          (void)memset(&args, 0, sizeof(struct md_args));
   
         while (-1 != (c = getopt(argc, argv, "vo:")))          while (-1 != (c = getopt(argc, argv, "f:o:vW")))
                 switch (c) {                  switch (c) {
                   case ('f'):
                           filter = optarg;
                           break;
                 case ('o'):                  case ('o'):
                         out = optarg;                          out = optarg;
                         break;                          break;
                 case ('v'):                  case ('v'):
                         args.dbg++;                          args.verbosity++;
                         break;                          break;
                   case ('W'):
                           args.warnings |= MD_WARN_ALL;
                           break;
                 default:                  default:
                         usage();                          usage();
                         return(1);                          return(1);
Line 77  main(int argc, char *argv[])
Line 83  main(int argc, char *argv[])
         if (1 == argc)          if (1 == argc)
                 in = *argv++;                  in = *argv++;
   
         args.type = MD_DUMMY;          if (filter) {
                   if (0 == strcmp(filter, "html"))
                           args.type = MD_HTML;
                   else if (0 == strcmp(filter, "xml"))
                           args.type = MD_XML;
                   else
                           errx(1, "invalid filter type");
           } else
                   args.type = MD_XML;
   
         return(begin_io(&args, out ? out : "-", in ? in : "-"));          return(begin_io(&args, out ? out : "-", in ? in : "-"));
 }  }
Line 105  leave_io(const struct md_buf *out, 
Line 119  leave_io(const struct md_buf *out, 
                 warn("%s", out->name);                  warn("%s", out->name);
                 c = 1;                  c = 1;
         }          }
           if (1 == c && STDOUT_FILENO != out->fd)
                   if (-1 == unlink(out->name))
                           warn("%s", out->name);
   
         return(c);          return(c);
 }  }
Line 187  begin_bufs(const struct md_args *args, 
Line 204  begin_bufs(const struct md_args *args, 
         if (-1 == fstat(in->fd, &stin)) {          if (-1 == fstat(in->fd, &stin)) {
                 warn("%s", in->name);                  warn("%s", in->name);
                 return(1);                  return(1);
         } else if (0 == stin.st_size) {          } else if (STDIN_FILENO != in->fd && 0 == stin.st_size) {
                 warnx("%s: empty file", in->name);                  warnx("%s: empty file", in->name);
                 return(1);                  return(1);
         } else if (-1 == fstat(out->fd, &stout)) {          } else if (-1 == fstat(out->fd, &stout)) {
Line 216  usage(void)
Line 233  usage(void)
 {  {
         extern char     *__progname;          extern char     *__progname;
   
         (void)printf("usage: %s [-v] [-o outfile] [infile]\n",          (void)printf("usage: %s [-vW] [-f filter] [-o outfile] "
                         __progname);                          "[infile]\n", __progname);
 }  }

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.16

CVSweb