home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d523 / bmake.lha / BMake / source.lzh / log.c < prev    next >
C/C++ Source or Header  |  1991-06-08  |  893b  |  56 lines

  1. /*    log.c
  2.  *    (c) Copyright 1991 by Ben Eng, All Rights Reserved
  3.  *
  4.  */
  5.  
  6. #include "make.h"
  7.  
  8. #define LOGFILE "make.log"
  9.  
  10. int
  11. open_logfile( void )
  12. {
  13.     if( !Global.logfile ) {
  14.         Global.logfile = fopen( LOGFILE, "a" );
  15.         if( !Global.logfile ) return( 1 );
  16.     }
  17.     return( 0 );
  18. }
  19.  
  20. void
  21. close_logfile( void )
  22. {
  23.     if( Global.logfile ) fclose( Global.logfile );
  24. }
  25.  
  26. void
  27. logfile( char *string )
  28. {
  29.     FILE *out;
  30.  
  31.     if( Param.log && !Global.logfile ) open_logfile();
  32.  
  33.     out = ( Param.log ) ? Global.logfile : stdout;
  34.     if( Param.log || Param.verbosity ) {
  35.         fputs( string, out );
  36.         fputc( '\n', out );
  37.         fflush( out );
  38.     }
  39. }
  40.  
  41. void
  42. logprintf( const char *fmt, ... )
  43. {
  44.     va_list argptr;
  45.     FILE *out;
  46.  
  47.     va_start( argptr, fmt );
  48.     if( Param.log && !Global.logfile ) open_logfile();
  49.  
  50.     out = ( Param.log ) ? Global.logfile : stdout;
  51.     if( Param.log || Param.verbosity ) {
  52.         vfprintf( out, fmt, argptr );
  53.     }
  54.     va_end( argptr );
  55. }
  56.