diff -ru cxref-1.5c/cxref.c cxref-1.5cu1/cxref.c --- cxref-1.5c/cxref.c Sat Jan 6 14:05:12 2001 +++ cxref-1.5cu1/cxref.c Mon Feb 18 17:41:20 2002 @@ -57,6 +57,7 @@ option_xref=0, /*+ do cross referencing. +*/ option_warn=0, /*+ produce warnings. +*/ option_index=0, /*+ produce an index. +*/ + option_webcpp=0, /*+ use webcpp for sources +*/ option_raw=0, /*+ produce raw output. +*/ option_latex=0, /*+ produce LaTeX output. +*/ option_html=0, /*+ produce HTML output. +*/ @@ -379,6 +380,7 @@ " [-warn[-all][-comment][-xref]]\n" " [-index[-all][-file][-func][-var][-type]]\n" " [-latex209|-latex2e] [-html20|-html32] [-rtf] [-sgml] [-raw]\n" + " [-webcpp]\n" " [-Idirname] [-Ddefine] [-Udefine]\n" " [-CPP cpp_program] [-- cpp_arg [ ... cpp_arg]]\n" "\n" @@ -407,6 +409,7 @@ "\n" "-latex209 | -latex2e : Produce LaTeX output (version 2.09 or 2e - default=2e).\n" "-html20 | -html32 : Produce HTML output (version 2.0 or 3.2 - default=3.2).\n" + " -webcpp : use webcpp to colorize sources.\n" "-rtf : Produce RTF output (version 1.x).\n" "-sgml : Produce SGML output (for SGML tools version 1.0.x).\n" "-raw : Produce raw output .\n" @@ -678,6 +681,9 @@ if(!strcmp(args[i],"-no-comments")) {option_no_comments=1; run_command=ConcatStrings(3,run_command," ",args[i]); continue;} + + if(!strcmp(args[i],"-webcpp")) + {option_webcpp=1; run_command=ConcatStrings(3,run_command," ",args[i]); continue;} if(!strncmp(args[i],"-xref",5)) { diff -ru cxref-1.5c/html.c cxref-1.5cu1/html.c --- cxref-1.5c/html.c Sat Jan 6 14:05:12 2001 +++ cxref-1.5cu1/html.c Fri Feb 15 18:18:06 2002 @@ -42,6 +42,9 @@ /*+ The comments are to be inserted verbatim. +*/ extern int option_verbatim_comments; +/*+ wether to use webcpp for source highlighting +*/ +extern int option_webcpp; + /*+ The type of HTML output to produce. +*/ extern int option_html; @@ -1426,38 +1429,43 @@ ifile=name; ofile=ConcatStrings(4,option_odir,"/",name,HTML_SRC_FILE); - in =fopen(ifile,"r"); - if(!in) - {fprintf(stderr,"cxref: Failed to open the source file '%s'\n",ifile);exit(1);} - - out=fopen(ofile,"w"); - if(!out) - {fprintf(stderr,"cxref: Failed to open the HTML output source file '%s'\n",ofile);exit(1);} - - WriteHTMLPreamble(out,ConcatStrings(2,"Source File ",name),0); - fputs("
\n",out);
-
- strcpy(pad,"    ");
-
- while(fgets(line,256,in))
-   {
-    lineno++;
-    if(lineno==10)
-       pad[3]=0;
-    else if(lineno==100)
-       pad[2]=0;
-    else if(lineno==1000)
-       pad[1]=0;
-    else if(lineno==10000)
-       pad[0]=0;
-    fprintf(out,"%d%s| %s",lineno,lineno,pad,html(line,1));
-   }
-
- fputs("
\n",out); - WriteHTMLPostamble(out,0); - - fclose(in); - fclose(out); + if(option_webcpp) { + snprintf(line, 256, "webcpp %s %s -l -x", ifile, ofile); + system (line); + } else { + in =fopen(ifile,"r"); + if(!in) + {fprintf(stderr,"cxref: Failed to open the source file '%s'\n",ifile);exit(1);} + + out=fopen(ofile,"w"); + if(!out) + {fprintf(stderr,"cxref: Failed to open the HTML output source file '%s'\n",ofile);exit(1);} + + WriteHTMLPreamble(out,ConcatStrings(2,"Source File ",name),0); + fputs("
\n",out);
+   
+   strcpy(pad,"    ");
+   
+   while(fgets(line,256,in))
+     {
+       lineno++;
+       if(lineno==10)
+	 pad[3]=0;
+       else if(lineno==100)
+	 pad[2]=0;
+       else if(lineno==1000)
+	 pad[1]=0;
+       else if(lineno==10000)
+	 pad[0]=0;
+       fprintf(out,"%d%s| %s",lineno,lineno,pad,html(line,1));
+     }
+   
+   fputs("
\n",out); + WriteHTMLPostamble(out,0); + + fclose(in); + fclose(out); + } }