[BACK]Return to gen_hh.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / html_tools

Diff for /OpenXM/src/asir-doc/html_tools/gen_hh.c between version 1.1 and 1.3

version 1.1, 2001/03/15 03:33:09 version 1.3, 2013/08/31 13:45:59
Line 1 
Line 1 
   /* $OpenXM: OpenXM/src/asir-doc/html_tools/gen_hh.c,v 1.2 2009/02/22 22:48:15 ohara Exp $ */
   
 #include <stdio.h>  #include <stdio.h>
   #include <stdlib.h>
 #include <string.h>  #include <string.h>
   #if !defined(_MSC_VER)
 #include <dirent.h>  #include <dirent.h>
   #else
   #include <windows.h>
   #endif
   
 gen_hhp(out,n)  void gen_hhp(char *out, int n, char *htmldir)
 char *out;  
 int n;  
 {  {
         int i;          int i;
         FILE *outf;          FILE *outf;
Line 14  int n;
Line 19  int n;
         fprintf(outf,"Compatibility=1.1 or later\n");          fprintf(outf,"Compatibility=1.1 or later\n");
         fprintf(outf,"Compiled file=asirhelp.chm\n");          fprintf(outf,"Compiled file=asirhelp.chm\n");
         fprintf(outf,"Contents file=asirhelp.hhc\n");          fprintf(outf,"Contents file=asirhelp.hhc\n");
         fprintf(outf,"Default topic=html\\man_toc.html\n");          fprintf(outf,"Default topic=%s\\man_toc.html\n",htmldir);
         fprintf(outf,"Display compile progress=No\n");          fprintf(outf,"Display compile progress=No\n");
         fprintf(outf,"Index file=asirhelp.hhk\n");          fprintf(outf,"Index file=asirhelp.hhk\n");
         fprintf(outf,"Language=0x411 日本語\n\n\n[FILES]\n");          fprintf(outf,"Language=0x411 日本語\n\n\n[FILES]\n");
   
         fprintf(outf,"html\\man_toc.html\n");          fprintf(outf,"%s\\man_toc.html\n",htmldir);
         for ( i = 1; i <= n; i++ )          for ( i = 1; i <= n; i++ )
                 fprintf(outf,"html\\man_%d.html\n",i);                  fprintf(outf,"%s\\man_%d.html\n",htmldir,i);
   
         fprintf(outf,"\n[INFOTYPES]\n");          fprintf(outf,"\n[INFOTYPES]\n");
 }  }
   
 conv_toc(in,out)  void conv_toc(char *in,char *out, char *htmldir)
 char *in,*out;  
 {  {
         char buf[BUFSIZ];          char buf[BUFSIZ];
         char *fname,*ptr,*ptr1;          char *fname,*ptr,*ptr1;
Line 63  char *in,*out;
Line 67  char *in,*out;
                         *ptr1 = 0;                          *ptr1 = 0;
                         fprintf(outf,"<LI><OBJECT type=\"text/sitemap\">\n");                          fprintf(outf,"<LI><OBJECT type=\"text/sitemap\">\n");
                         fprintf(outf,"<param name=\"Name\" value=\"%s\">\n",ptr);                          fprintf(outf,"<param name=\"Name\" value=\"%s\">\n",ptr);
                         fprintf(outf,"<param name=\"Local\" value=\"html\\%s\">\n",fname);                          fprintf(outf,"<param name=\"Local\" value=\"%s\\%s\">\n",htmldir,fname);
                         fprintf(outf,"</OBJECT>\n");                          fprintf(outf,"</OBJECT>\n");
                 }                  }
         }          }
         fprintf(outf,"</UL>\n</BODY></HTML>\n");          fprintf(outf,"</UL>\n</BODY></HTML>\n");
 }  }
   
 conv_index (in,out)  void conv_index(char *in, char *out, char *htmldir)
 char *in,*out;  
 {  {
         char buf[BUFSIZ];          char buf[BUFSIZ];
         char *fname,*ptr,*ptr1;          char *fname,*ptr,*ptr1;
Line 106  char *in,*out;
Line 109  char *in,*out;
                         *ptr1 = 0;                          *ptr1 = 0;
                         fprintf(outf,"<LI><OBJECT type=\"text/sitemap\">\n");                          fprintf(outf,"<LI><OBJECT type=\"text/sitemap\">\n");
                         fprintf(outf,"<param name=\"Name\" value=\"%s\">\n",ptr);                          fprintf(outf,"<param name=\"Name\" value=\"%s\">\n",ptr);
                         fprintf(outf,"<param name=\"Local\" value=\"html\\%s\">\n",fname);                          fprintf(outf,"<param name=\"Local\" value=\"%s\\%s\">\n",htmldir,fname);
                         fprintf(outf,"</OBJECT>\n");                          fprintf(outf,"</OBJECT>\n");
                 }                  }
         }          }
         fprintf(outf,"</BODY></HTML>\n");          fprintf(outf,"</BODY></HTML>\n");
 }  }
   
 main(argc,argv)  #if !defined(_MSC_VER)
 int argc;  int find_files(char *indir,char *prefix)
 char **argv;  
 {  {
         DIR *d;          DIR *d;
         struct dirent *dent;          struct dirent *dent;
         int i,n,n1;          int n=0,n1;
         char *ptr,*ptr1;          char *ptr,*ptr1;
         char *indir,*outdir;          char name[BUFSIZ];
         char in[BUFSIZ],out[BUFSIZ],name[BUFSIZ];          int len=strlen(prefix);
   
         indir = argv[1];  
         outdir = argv[2];  
         sprintf(in,"%s/man_toc.html",indir);  
         sprintf(out,"%s/asirhelp.hhc",outdir);  
         conv_toc(in,out);  
         d = opendir(indir);          d = opendir(indir);
         n = 0;          if(!d) {
                   exit(1);
           }
         while ( dent = readdir(d) ) {          while ( dent = readdir(d) ) {
                 strcpy(name,dent->d_name);                  strcpy(name,dent->d_name);
                 ptr = strchr(name,'_');                  ptr = name+len;
                   ptr = strchr(ptr,'_');
                 if ( !ptr )                  if ( !ptr )
                         continue;                          continue;
                 ptr++;                  ptr++;
Line 147  char **argv;
Line 146  char **argv;
                 if ( n1 > n )                  if ( n1 > n )
                         n = n1;                          n = n1;
         }          }
           closedir(d);
           return n;
   }
   #else
   int find_files(char *indir,char *prefix)
   {
       HANDLE h;
       WIN32_FIND_DATA fd;
       char *ptr,*ptr1;
       char pattern[BUFSIZ];
       char name[BUFSIZ];
           int n=0,n1;
       int len=strlen(prefix);
       sprintf(pattern, "%s\\%s*_*.*", indir, prefix);
       h = FindFirstFileEx(pattern, FindExInfoStandard, &fd, FindExSearchNameMatch, NULL, 0);
       if(h == INVALID_HANDLE_VALUE) {
           exit(1);
       }
       do {
           strcpy(name,fd.cFileName);
           ptr = name+len;
           ptr = strchr(ptr,'_') + 1;
           ptr1 = strchr(ptr,'.');
           *ptr1 = 0;
           if ( !strcmp(ptr,"toc") )
               continue;
           n1 = atoi(ptr);
           if ( n1 > n )
               n = n1;
       } while(FindNextFile(h, &fd));
       return n;
   }
   #endif
   
   int main(int argc, char *argv[])
   {
           int n;
           char *indir,*outdir;
           char in[BUFSIZ],out[BUFSIZ];
           char *htmldir="html";
   
           indir = argv[1];
           outdir = argv[2];
           if(argc>3) {
                   htmldir=argv[3];
           }
   
           sprintf(in,"%s/man_toc.html",indir);
           sprintf(out,"%s/asirhelp.hhc",outdir);
           conv_toc(in,out,htmldir);
           n = find_files(indir, "");
   
         sprintf(in,"%s/man_%d.html",indir,n);          sprintf(in,"%s/man_%d.html",indir,n);
         sprintf(out,"%s/asirhelp.hhk",outdir);          sprintf(out,"%s/asirhelp.hhk",outdir);
         conv_index(in,out);          conv_index(in,out,htmldir);
         sprintf(out,"%s/asirhelp.hhp",outdir);          sprintf(out,"%s/asirhelp.hhp",outdir);
         gen_hhp(out,n);          gen_hhp(out,n,htmldir);
         exit(0);          exit(0);
 }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>