summaryrefslogtreecommitdiffstats
path: root/source/utils/debug2html.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1999-12-13 13:27:58 +0000
committerAndrew Tridgell <tridge@samba.org>1999-12-13 13:27:58 +0000
commit453a822a76780063dff23526c35408866d0c0154 (patch)
tree804feffcd5e60153e27d3ca2b007021e66e5bd0a /source/utils/debug2html.c
parent054195df9b6187c663ede5cf4489499abbdc29fc (diff)
downloadsamba-453a822a76780063dff23526c35408866d0c0154.tar.gz
samba-453a822a76780063dff23526c35408866d0c0154.tar.xz
samba-453a822a76780063dff23526c35408866d0c0154.zip
first pass at updating head branch to be to be the same as the SAMBA_2_0 branch
Diffstat (limited to 'source/utils/debug2html.c')
-rw-r--r--source/utils/debug2html.c182
1 files changed, 57 insertions, 125 deletions
diff --git a/source/utils/debug2html.c b/source/utils/debug2html.c
index ef7201168fa..f9a1f43f461 100644
--- a/source/utils/debug2html.c
+++ b/source/utils/debug2html.c
@@ -28,19 +28,36 @@
* does a decent job of converting Samba logs into HTML.
* -------------------------------------------------------------------------- **
*
- * $Revision: 1.9 $
+ * Revision 1.4 1998/11/13 03:37:01 tridge
+ * fixes for OSF1 compilation
+ *
+ * Revision 1.3 1998/10/28 20:33:35 crh
+ * I've moved the debugparse module files into the ubiqx directory because I
+ * know that 'make proto' will ignore them there. The debugparse.h header
+ * file is included in includes.h, and includes.h is included in debugparse.c,
+ * so all of the pieces "see" each other. I've compiled and tested this,
+ * and it does seem to work. It's the same compromise model I used when
+ * adding the ubiqx modules into the system, which is why I put it all into
+ * the same directory.
+ *
+ * Chris -)-----
+ *
+ * Revision 1.1 1998/10/26 23:21:37 crh
+ * Here is the simple debug parser and the debug2html converter. Still to do:
+ *
+ * * Debug message filtering.
+ * * I need to add all this to Makefile.in
+ * (If it looks at all strange I'll ask for help.)
+ *
+ * If you want to compile debug2html, you'll need to do it by hand until I
+ * make the changes to Makefile.in. Sorry.
+ *
+ * Chris -)-----
*
* ========================================================================== **
*/
-#include "includes.h"
-
-/* -------------------------------------------------------------------------- **
- * Global values.
- */
-
-FILE *infile;
-FILE *outfile;
+#include "debugparse.h"
/* -------------------------------------------------------------------------- **
* The size of the read buffer.
@@ -81,7 +98,7 @@ static dbg_Token modechange( dbg_Token new, dbg_Token mode )
if( dbg_message != mode )
{
/* Switching to message mode. */
- (void)fprintf( outfile, "<PRE>\n" );
+ (void)printf( "<PRE>\n" );
return( dbg_message );
}
break;
@@ -89,7 +106,7 @@ static dbg_Token modechange( dbg_Token new, dbg_Token mode )
if( dbg_message == mode )
{
/* Switching out of message mode. */
- (void)fprintf( outfile, "</PRE>\n\n" );
+ (void)printf( "</PRE>\n\n" );
return( dbg_null );
}
}
@@ -117,33 +134,29 @@ static void newblock( dbg_Token old, dbg_Token new )
switch( old )
{
case dbg_timestamp:
- (void)fprintf( outfile, ",</B>" );
+ (void)printf( ",</B>" );
break;
case dbg_level:
- (void)fprintf( outfile, "</FONT>]</B>\n " );
+ (void)printf( "</FONT>]</B>\n " );
break;
case dbg_sourcefile:
- (void)fprintf( outfile, ":" );
+ (void)printf( ":" );
break;
case dbg_lineno:
- (void)fprintf( outfile, ")" );
- break;
- default:
+ (void)printf( ")" );
break;
}
switch( new )
{
case dbg_timestamp:
- (void)fprintf( outfile, "<B>[" );
+ (void)printf( "<B>[" );
break;
case dbg_level:
- (void)fprintf( outfile, " <B><FONT COLOR=MAROON>" );
+ (void)printf( " <B><FONT COLOR=MAROON>" );
break;
case dbg_lineno:
- (void)fprintf( outfile, "(" );
- break;
- default:
+ (void)printf( "(" );
break;
}
} /* newblock */
@@ -167,38 +180,41 @@ static void charprint( dbg_Token tok, int c )
break;
case dbg_null:
case dbg_eof:
- (void)putc( '\n', outfile );
+ (void)putchar( '\n' );
break;
default:
switch( c )
{
case '<':
- (void)fprintf( outfile, "&lt;" );
+ (void)printf( "&lt;" );
break;
case '>':
- (void)fprintf( outfile, "&gt;" );
+ (void)printf( "&gt;" );
break;
case '&':
- (void)fprintf( outfile, "&amp;" );
+ (void)printf( "&amp;" );
break;
case '\"':
- (void)fprintf( outfile, "&#34;" );
+ (void)printf( "&#34;" );
break;
default:
- (void)putc( c, outfile );
+ (void)putchar( c );
break;
}
}
} /* charprint */
-static void convert( void )
+int main( int argc, char *argv[] )
/* ------------------------------------------------------------------------ **
- * Read the input logfile, converting the entries to HTML.
+ * This simple program scans and parses Samba debug logs, and produces HTML
+ * output.
+ *
+ * Input: argc - Currently ignored.
+ * argv - Currently ignored.
+ *
+ * Output: Always zero.
*
- * Input: none.
- * output: none.
- * Notes: Reads from the global infile, writes to the global outfile.
- * These default to stdin and stdout, respectively.
+ * Notes: The HTML output is sent to stdout.
*
* ------------------------------------------------------------------------ **
*/
@@ -211,8 +227,12 @@ static void convert( void )
state = dbg_null,
mode = dbg_null;
- while( (!feof( infile ))
- && ((len = fread( bufr, 1, DBG_BSIZE, infile )) > 0) )
+ (void)printf( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n" );
+ (void)printf( "<HTML>\n<HEAD>\n" );
+ (void)printf( " <TITLE>Samba Debug Output</TITLE>\n</HEAD>\n\n<BODY>\n" );
+
+ while( (!feof( stdin ))
+ && ((len = fread( bufr, 1, DBG_BSIZE, stdin )) > 0) )
{
for( i = 0; i < len; i++ )
{
@@ -228,94 +248,6 @@ static void convert( void )
}
(void)modechange( dbg_eof, mode );
- } /* convert */
-
-static void usage( void )
- /* ------------------------------------------------------------------------ **
- * Prints a usage message on stderr, then gently exits.
- *
- * Input: none.
- * Output: none. Exits with return code of 0.
- *
- * ------------------------------------------------------------------------ **
- */
- {
- fprintf( stderr, "This utility converts Samba log files " );
- fprintf( stderr, "into HTML documents.\n" );
- fprintf( stderr, "Usage:\n" );
- fprintf( stderr, " debug2html <infile> <outfile>\n" );
- exit( 0 );
- } /* usage */
-
-static FILE *carefull_fopen( const char *path, const char *type )
- /* ------------------------------------------------------------------------ **
- * Checks for leading '-' characters, which are generically regarded as
- * flags. Also exits the program gracefully should the file fail to open.
- *
- * Input: path - pathname of the file to open.
- * type - open mode. See fopen(3S).
- *
- * Output: Pointer to open file.
- *
- * ------------------------------------------------------------------------ **
- */
- {
- FILE *tmp;
-
- if( '-' == path[0] || '\0' == path[0] )
- usage();
-
- tmp = sys_fopen( path, type );
- if( NULL == tmp )
- {
- fprintf( stderr, "Error opening file %s: %s\n", path, strerror(errno) );
- exit( 1 );
- }
- return( tmp );
- } /* carefull_fopen */
-
-int main( int argc, char *argv[] )
- /* ------------------------------------------------------------------------ **
- * This simple program scans and parses Samba debug logs, and produces HTML
- * output.
- *
- * Input: argc - Argument count.
- * argv[1] - Input file name.
- * argv[2] - Output file name.
- * A '-' character by itself means use defaults (i.e.,
- * <stdin> or <stdout> depending upon the argument.
- * A string beginning with '-' and containing more than
- * that one character will generate a usage message.
- *
- * Output: An exit value of 1 is returned if an error was encountered
- * while opening a file, else 0.
- *
- * Notes: The HTML output is sent to stdout.
- *
- * ------------------------------------------------------------------------ **
- */
- {
- if( argc > 3 )
- usage();
-
- infile = stdin;
- outfile = stdout;
-
- if( argc > 1 && 0 != strcmp( argv[1], "-" ) )
- infile = carefull_fopen( argv[1], "r" );
-
- if( argc > 2 && 0 != strcmp( argv[2], "-" ) )
- infile = carefull_fopen( argv[2], "w" );
-
- (void)fprintf( outfile,
- "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n" );
- (void)fprintf( outfile, "<HTML>\n<HEAD>\n" );
- (void)fprintf( outfile,
- " <TITLE>Samba Log</TITLE>\n</HEAD>\n\n<BODY>\n" );
-
- convert();
-
- (void)fprintf( outfile, "</BODY>\n</HTML>\n" );
-
+ (void)printf( "</BODY>\n</HTML>\n" );
return( 0 );
} /* main */