=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/html_tools/gen_hh.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- OpenXM/src/asir-doc/html_tools/gen_hh.c 2013/08/31 13:45:59 1.3 +++ OpenXM/src/asir-doc/html_tools/gen_hh.c 2013/09/02 20:08:41 1.4 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/asir-doc/html_tools/gen_hh.c,v 1.2 2009/02/22 22:48:15 ohara Exp $ */ +/* $OpenXM: OpenXM/src/asir-doc/html_tools/gen_hh.c,v 1.3 2013/08/31 13:45:59 ohara Exp $ */ #include #include @@ -9,7 +9,7 @@ #include #endif -void gen_hhp(char *out, int n, char *htmldir) +void gen_hhp(char *out, int n, char *indir, char *prefix_, char *help) { int i; FILE *outf; @@ -17,21 +17,21 @@ void gen_hhp(char *out, int n, char *htmldir) outf = fopen(out,"w"); fprintf(outf,"[OPTIONS]\n"); fprintf(outf,"Compatibility=1.1 or later\n"); - fprintf(outf,"Compiled file=asirhelp.chm\n"); - fprintf(outf,"Contents file=asirhelp.hhc\n"); - fprintf(outf,"Default topic=%s\\man_toc.html\n",htmldir); + fprintf(outf,"Compiled file=%s.chm\n",help); + fprintf(outf,"Contents file=%s.hhc\n",help); + fprintf(outf,"Default topic=%s\\%s_toc.html\n",indir,prefix_); fprintf(outf,"Display compile progress=No\n"); - fprintf(outf,"Index file=asirhelp.hhk\n"); + fprintf(outf,"Index file=%s.hhk\n",help); fprintf(outf,"Language=0x411 “ú–{Œê\n\n\n[FILES]\n"); - fprintf(outf,"%s\\man_toc.html\n",htmldir); + fprintf(outf,"%s\\%s_toc.html\n",indir,prefix_); for ( i = 1; i <= n; i++ ) - fprintf(outf,"%s\\man_%d.html\n",htmldir,i); + fprintf(outf,"%s\\%s_%d.html\n",indir,prefix_,i); fprintf(outf,"\n[INFOTYPES]\n"); } -void conv_toc(char *in,char *out, char *htmldir) +void conv_toc(char *in, char *out, char *prefix_, char *indir) { char buf[BUFSIZ]; char *fname,*ptr,*ptr1; @@ -56,7 +56,7 @@ void conv_toc(char *in,char *out, char *htmldir) fgets(buf,BUFSIZ,inf); if ( !strncmp(buf,"Jump to:",strlen("Jump to:")) ) break; - if ( fname = strstr(buf,"man_") ) { + if ( fname = strstr(buf,prefix_) ) { ptr = strchr(buf,'#'); *ptr = 0; ptr = strchr(ptr+1,'>'); @@ -67,14 +67,14 @@ void conv_toc(char *in,char *out, char *htmldir) *ptr1 = 0; fprintf(outf,"
  • \n"); fprintf(outf,"\n",ptr); - fprintf(outf,"\n",htmldir,fname); + fprintf(outf,"\n",indir,fname); fprintf(outf,"\n"); } } fprintf(outf,"\n\n"); } -void conv_index(char *in, char *out, char *htmldir) +void conv_index(char *in, char *out, char *prefix_, char *indir) { char buf[BUFSIZ]; char *fname,*ptr,*ptr1; @@ -98,7 +98,7 @@ void conv_index(char *in, char *out, char *htmldir) fgets(buf,BUFSIZ,inf); if ( !strncmp(buf,"Jump to:",strlen("Jump to:")) ) break; - if ( fname = strstr(buf,"man_") ) { + if ( fname = strstr(buf,prefix_) ) { ptr = strchr(buf,'#'); *ptr = 0; ptr = strchr(ptr+1,'>'); @@ -109,7 +109,7 @@ void conv_index(char *in, char *out, char *htmldir) *ptr1 = 0; fprintf(outf,"
  • \n"); fprintf(outf,"\n",ptr); - fprintf(outf,"\n",htmldir,fname); + fprintf(outf,"\n",indir,fname); fprintf(outf,"\n"); } } @@ -117,14 +117,14 @@ void conv_index(char *in, char *out, char *htmldir) } #if !defined(_MSC_VER) -int find_files(char *indir,char *prefix) +int find_files(char *indir,char *base) { DIR *d; struct dirent *dent; int n=0,n1; char *ptr,*ptr1; char name[BUFSIZ]; - int len=strlen(prefix); + int len=strlen(base); d = opendir(indir); if(!d) { exit(1); @@ -150,7 +150,7 @@ int find_files(char *indir,char *prefix) return n; } #else -int find_files(char *indir,char *prefix) +int find_files(char *indir,char *base) { HANDLE h; WIN32_FIND_DATA fd; @@ -158,8 +158,8 @@ int find_files(char *indir,char *prefix) char pattern[BUFSIZ]; char name[BUFSIZ]; int n=0,n1; - int len=strlen(prefix); - sprintf(pattern, "%s\\%s*_*.*", indir, prefix); + int len=strlen(base); + sprintf(pattern, "%s\\%s_*.*", indir, base); h = FindFirstFileEx(pattern, FindExInfoStandard, &fd, FindExSearchNameMatch, NULL, 0); if(h == INVALID_HANDLE_VALUE) { exit(1); @@ -184,24 +184,29 @@ int main(int argc, char *argv[]) { int n; char *indir,*outdir; - char in[BUFSIZ],out[BUFSIZ]; - char *htmldir="html"; + char in[BUFSIZ],out[BUFSIZ],prefix_[BUFSIZ]; + char *prefix,*lang; + char help[BUFSIZ],base[BUFSIZ]; - 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(out,"%s/asirhelp.hhk",outdir); - conv_index(in,out,htmldir); - sprintf(out,"%s/asirhelp.hhp",outdir); - gen_hhp(out,n,htmldir); - exit(0); + indir = argv[1]; + outdir = argv[2]; + prefix = indir; + if(argc>3) { + lang = argv[3]; + sprintf(base,"%s-%s",prefix,lang); + }else { + sprintf(base,"%s", "man"); + } + sprintf(help,"%shelp",prefix); + sprintf(prefix_,"%s_", base); + sprintf(in,"%s/%s_toc.html",indir,base); + sprintf(out,"%s/%s.hhc",outdir,help); + conv_toc(in,out,prefix_,indir); + n = find_files(indir, base); + sprintf(in,"%s/%s_%d.html",indir,base,n); + sprintf(out,"%s/%s.hhk",outdir,help); + conv_index(in,out,prefix_,indir); + sprintf(out,"%s/%s.hhp",outdir,help); + gen_hhp(out,n,indir,base,help); + return 0; }