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

Diff for /texi2mdoc/main.c between version 1.71 and 1.73

version 1.71, 2015/03/19 09:53:35 version 1.73, 2018/11/13 10:19:16
Line 17 
Line 17 
 #if defined(__linux__) || defined(__MINT__)  #if defined(__linux__) || defined(__MINT__)
 # define _GNU_SOURCE /* memmem */  # define _GNU_SOURCE /* memmem */
 #endif  #endif
   
   #include <sys/stat.h>
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <getopt.h>  #include <getopt.h>
Line 26 
Line 29 
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
   #include <time.h>
 #include <unistd.h>  #include <unistd.h>
   
 #include "extern.h"  #include "extern.h"
Line 1984  dosection(struct texi *p, enum texicmd cmd, size_t *po
Line 1988  dosection(struct texi *p, enum texicmd cmd, size_t *po
         switch (cmd) {          switch (cmd) {
         case (TEXICMD_TOP):          case (TEXICMD_TOP):
                 sec = 0;                  sec = 0;
                   if (p->nodesz)
                           break;
                   texiwarn(p, "@node Top is missing, assuming it implicitly");
                   p->nodesz++;
                   p->ign--;
                   p->nodecur = texicache(p, "Top", 3);
                   teximdocopen(p, pos);
                 break;                  break;
         case (TEXICMD_APPENDIX):          case (TEXICMD_APPENDIX):
         case (TEXICMD_CHAPTER):          case (TEXICMD_CHAPTER):
Line 2341  int
Line 2352  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         struct texi      texi;          struct texi      texi;
         int              c;          char             date[32];
           struct stat      st;
         char            *dirpath, *dir, *ccp;          char            *dirpath, *dir, *ccp;
         const char      *progname, *Idir, *cp;          const char      *progname, *Idir, *cp;
           time_t           t;
           int              c;
   
         progname = strrchr(argv[0], '/');          progname = strrchr(argv[0], '/');
         if (progname == NULL)          if (progname == NULL)
Line 2357  main(int argc, char *argv[])
Line 2371  main(int argc, char *argv[])
         texi.seenvs = -1;          texi.seenvs = -1;
         Idir = NULL;          Idir = NULL;
   
         while (-1 != (c = getopt(argc, argv, "C:I:")))          while (-1 != (c = getopt(argc, argv, "C:d:I:")))
                 switch (c) {                  switch (c) {
                 case ('C'):                  case ('C'):
                         texi.chapters = optarg;                          texi.chapters = optarg;
                         break;                          break;
                   case ('d'):
                           texi.date = optarg;
                           break;
                 case ('I'):                  case ('I'):
                         Idir = optarg;                          Idir = optarg;
                         break;                          break;
Line 2393  main(int argc, char *argv[])
Line 2410  main(int argc, char *argv[])
                         *ccp = '\0';                          *ccp = '\0';
                 texi.dirs = parsedirs(&texi, dir, Idir, &texi.dirsz);                  texi.dirs = parsedirs(&texi, dir, Idir, &texi.dirsz);
                 free(dirpath);                  free(dirpath);
                   if (NULL == texi.date) {
                           t = stat(argv[0], &st) == 0 ? st.st_mtime : time(NULL);
                           strftime(date, sizeof(date),
                                "%B %e, %Y", localtime(&t));
                           texi.date = date;
                   }
                 parsefile(&texi, argv[0], 1);                  parsefile(&texi, argv[0], 1);
         } else {          } else {
                 texi.title = strdup("Unknown Manual");                  texi.title = strdup("Unknown Manual");
                 texi.dirs = parsedirs(&texi, NULL, Idir, &texi.dirsz);                  texi.dirs = parsedirs(&texi, NULL, Idir, &texi.dirsz);
                   if (NULL == texi.date) {
                           t = time(NULL);
                           strftime(date, sizeof(date),
                                "%B %e, %Y", localtime(&t));
                           texi.date = date;
                   }
                 parsestdin(&texi);                  parsestdin(&texi);
         }          }
   
         texiexit(&texi);          texiexit(&texi);
         exit(EXIT_SUCCESS);          exit(EXIT_SUCCESS);
 usage:  usage:
         fprintf(stderr, "usage: %s [-Cdir] [-Idirs] [file]\n", progname);          fprintf(stderr, "usage: %s [-C dir] [-d date] [-I dirs] [file]\n",
               progname);
         return(EXIT_FAILURE);          return(EXIT_FAILURE);
 }  }

Legend:
Removed from v.1.71  
changed lines
  Added in v.1.73

CVSweb