< prev index next >
src/java.desktop/share/native/libfreetype/src/base/ftdebug.c
Print this page
*** 1,46 ****
! /***************************************************************************/
! /* */
! /* ftdebug.c */
! /* */
! /* Debugging and logging component (body). */
! /* */
! /* Copyright 1996-2018 by */
! /* David Turner, Robert Wilhelm, and Werner Lemberg. */
! /* */
! /* This file is part of the FreeType project, and may only be used, */
! /* modified, and distributed under the terms of the FreeType project */
! /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
! /* this file you indicate that you have read the license and */
! /* understand and accept it fully. */
! /* */
! /***************************************************************************/
!
!
! /*************************************************************************/
! /* */
! /* This component contains various macros and functions used to ease the */
! /* debugging of the FreeType engine. Its main purpose is in assertion */
! /* checking, tracing, and error detection. */
! /* */
! /* There are now three debugging modes: */
! /* */
! /* - trace mode */
! /* */
! /* Error and trace messages are sent to the log file (which can be the */
! /* standard error output). */
! /* */
! /* - error mode */
! /* */
! /* Only error messages are generated. */
! /* */
! /* - release mode: */
! /* */
! /* No error message is sent or generated. The code is free from any */
! /* debugging parts. */
! /* */
! /*************************************************************************/
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_INTERNAL_DEBUG_H
--- 1,46 ----
! /****************************************************************************
! *
! * ftdebug.c
! *
! * Debugging and logging component (body).
! *
! * Copyright (C) 1996-2019 by
! * David Turner, Robert Wilhelm, and Werner Lemberg.
! *
! * This file is part of the FreeType project, and may only be used,
! * modified, and distributed under the terms of the FreeType project
! * license, LICENSE.TXT. By continuing to use, modify, or distribute
! * this file you indicate that you have read the license and
! * understand and accept it fully.
! *
! */
!
!
! /**************************************************************************
! *
! * This component contains various macros and functions used to ease the
! * debugging of the FreeType engine. Its main purpose is in assertion
! * checking, tracing, and error detection.
! *
! * There are now three debugging modes:
! *
! * - trace mode
! *
! * Error and trace messages are sent to the log file (which can be the
! * standard error output).
! *
! * - error mode
! *
! * Only error messages are generated.
! *
! * - release mode:
! *
! * No error message is sent or generated. The code is free from any
! * debugging parts.
! *
! */
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_INTERNAL_DEBUG_H
*** 85,110 ****
FT_BASE_DEF( int )
FT_Throw( FT_Error error,
int line,
const char* file )
{
FT_UNUSED( error );
FT_UNUSED( line );
FT_UNUSED( file );
return 0;
}
#endif /* FT_DEBUG_LEVEL_ERROR */
#ifdef FT_DEBUG_LEVEL_TRACE
! /* array of trace levels, initialized to 0 */
! int ft_trace_levels[trace_count];
!
/* define array of trace toggle names */
#define FT_TRACE_DEF( x ) #x ,
static const char* ft_trace_toggles[trace_count + 1] =
--- 85,127 ----
FT_BASE_DEF( int )
FT_Throw( FT_Error error,
int line,
const char* file )
{
+ #if 0
+ /* activating the code in this block makes FreeType very chatty */
+ fprintf( stderr,
+ "%s:%d: error 0x%02x: %s\n",
+ file,
+ line,
+ error,
+ FT_Error_String( error ) );
+ #else
FT_UNUSED( error );
FT_UNUSED( line );
FT_UNUSED( file );
+ #endif
return 0;
}
#endif /* FT_DEBUG_LEVEL_ERROR */
#ifdef FT_DEBUG_LEVEL_TRACE
! /* array of trace levels, initialized to 0; */
! /* this gets adjusted at run-time */
! static int ft_trace_levels_enabled[trace_count];
!
! /* array of trace levels, always initialized to 0 */
! static int ft_trace_levels_disabled[trace_count];
!
! /* a pointer to either `ft_trace_levels_enabled' */
! /* or `ft_trace_levels_disabled' */
! int* ft_trace_levels;
/* define array of trace toggle names */
#define FT_TRACE_DEF( x ) #x ,
static const char* ft_trace_toggles[trace_count + 1] =
*** 138,165 ****
else
return NULL;
}
! /*************************************************************************/
! /* */
! /* Initialize the tracing sub-system. This is done by retrieving the */
! /* value of the `FT2_DEBUG' environment variable. It must be a list of */
! /* toggles, separated by spaces, `;', or `,'. Example: */
! /* */
! /* export FT2_DEBUG="any:3 memory:7 stream:5" */
! /* */
! /* This requests that all levels be set to 3, except the trace level for */
! /* the memory and stream components which are set to 7 and 5, */
! /* respectively. */
! /* */
! /* See the file `include/freetype/internal/fttrace.h' for details of */
! /* the available toggle names. */
! /* */
! /* The level must be between 0 and 7; 0 means quiet (except for serious */
! /* runtime errors), and 7 means _very_ verbose. */
! /* */
FT_BASE_DEF( void )
ft_debug_init( void )
{
const char* ft2_debug = ft_getenv( "FT2_DEBUG" );
--- 155,200 ----
else
return NULL;
}
! /* documentation is in ftdebug.h */
!
! FT_BASE_DEF( void )
! FT_Trace_Disable( void )
! {
! ft_trace_levels = ft_trace_levels_disabled;
! }
!
!
! /* documentation is in ftdebug.h */
!
! FT_BASE_DEF( void )
! FT_Trace_Enable( void )
! {
! ft_trace_levels = ft_trace_levels_enabled;
! }
!
!
! /**************************************************************************
! *
! * Initialize the tracing sub-system. This is done by retrieving the
! * value of the `FT2_DEBUG' environment variable. It must be a list of
! * toggles, separated by spaces, `;', or `,'. Example:
! *
! * export FT2_DEBUG="any:3 memory:7 stream:5"
! *
! * This requests that all levels be set to 3, except the trace level for
! * the memory and stream components which are set to 7 and 5,
! * respectively.
! *
! * See the file `include/freetype/internal/fttrace.h' for details of
! * the available toggle names.
! *
! * The level must be between 0 and 7; 0 means quiet (except for serious
! * runtime errors), and 7 means _very_ verbose.
! */
FT_BASE_DEF( void )
ft_debug_init( void )
{
const char* ft2_debug = ft_getenv( "FT2_DEBUG" );
*** 221,238 ****
{
if ( found == trace_any )
{
/* special case for `any' */
for ( n = 0; n < trace_count; n++ )
! ft_trace_levels[n] = level;
}
else
! ft_trace_levels[found] = level;
}
}
}
}
}
#else /* !FT_DEBUG_LEVEL_TRACE */
--- 256,275 ----
{
if ( found == trace_any )
{
/* special case for `any' */
for ( n = 0; n < trace_count; n++ )
! ft_trace_levels_enabled[n] = level;
}
else
! ft_trace_levels_enabled[found] = level;
}
}
}
}
+
+ ft_trace_levels = ft_trace_levels_enabled;
}
#else /* !FT_DEBUG_LEVEL_TRACE */
*** 258,266 ****
--- 295,319 ----
return NULL;
}
+ FT_BASE_DEF( void )
+ FT_Trace_Disable( void )
+ {
+ /* nothing */
+ }
+
+
+ /* documentation is in ftdebug.h */
+
+ FT_BASE_DEF( void )
+ FT_Trace_Enable( void )
+ {
+ /* nothing */
+ }
+
+
#endif /* !FT_DEBUG_LEVEL_TRACE */
/* END */
< prev index next >