Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

debugtrace.c

Go to the documentation of this file.
00001 #define _DEBUGTRACE_MAIN_
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004 #include "mcw_malloc.h"
00005 #include "debugtrace.h"  /* contains 1 function */
00006 
00007 /*--------------------------------------------------------------------------*/
00008 
00009 static void output_message( char *prefix , char *fmt , va_list vararg_ptr )
00010 {
00011    char *ifmt , *msg ; int ll ;
00012 
00013    if( fmt == NULL || *fmt == '\0' ) return ;
00014    if( prefix == NULL || *prefix == '\0' ){
00015      ifmt = fmt ;
00016    } else {
00017      ifmt = malloc( strlen(prefix)+strlen(fmt)+4 ) ;
00018      strcpy(ifmt,prefix) ;
00019      strcat(ifmt,fmt) ;
00020    }
00021    ll = strlen(ifmt) ; if( ll < 1024 ) ll = 1024 ;
00022    msg = malloc(sizeof(char)*16*ll) ; msg[0] = '\0' ;
00023    vsprintf(msg,ifmt,vararg_ptr) ; ll = strlen(msg) ;
00024    if( msg[ll-1] != '\n' ){ msg[ll] = '\n' ; msg[ll+1] = '\0' ; }
00025    fputs(msg,stderr) ;
00026    if( ifmt != fmt ) free(ifmt) ;
00027    return ;
00028 }
00029 
00030 /*--------------------------------------------------------------------------*/
00031 
00032 void INFO_message( char *fmt , ... )
00033 {
00034    va_list vararg_ptr ;
00035    va_start( vararg_ptr , fmt ) ;
00036    output_message( "++ " , fmt , vararg_ptr ) ;
00037    va_end( vararg_ptr ) ;
00038    return ;
00039 }
00040 
00041 /*--------------------------------------------------------------------------*/
00042 
00043 void ININFO_message( char *fmt , ... )
00044 {
00045    va_list vararg_ptr ;
00046    va_start( vararg_ptr , fmt ) ;
00047    output_message( " + " , fmt , vararg_ptr ) ;
00048    va_end( vararg_ptr ) ;
00049    return ;
00050 }
00051 
00052 /*--------------------------------------------------------------------------*/
00053 
00054 void WARNING_message( char *fmt , ... )
00055 {
00056    va_list vararg_ptr ;
00057    va_start( vararg_ptr , fmt ) ;
00058    output_message( "++ WARNING: " , fmt , vararg_ptr ) ;
00059    va_end( vararg_ptr ) ;
00060    return ;
00061 }
00062 
00063 /*--------------------------------------------------------------------------*/
00064 
00065 void ERROR_message( char *fmt , ... )
00066 {
00067    va_list vararg_ptr ;
00068    va_start( vararg_ptr , fmt ) ;
00069    output_message( "** ERROR: " , fmt , vararg_ptr ) ;
00070    va_end( vararg_ptr ) ;
00071    return ;
00072 }
00073 
00074 /*--------------------------------------------------------------------------*/
00075 
00076 void ERROR_exit( char *fmt , ... )
00077 {
00078    va_list vararg_ptr ;
00079    va_start( vararg_ptr , fmt ) ;
00080    output_message( "** FATAL ERROR: " , fmt , vararg_ptr ) ;
00081    va_end( vararg_ptr ) ;
00082    exit(1) ;
00083 }
 

Powered by Plone

This site conforms to the following standards: