diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c')
-rw-r--r-- | Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c | 333 |
1 files changed, 3 insertions, 330 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c b/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c index a1aedb8e049..d5894900382 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c @@ -4,7 +4,7 @@ * * Debugging and logging component for Win32 (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -42,53 +42,7 @@ #include <freetype/freetype.h> -#include <freetype/ftlogging.h> #include <freetype/internal/ftdebug.h> -#include <freetype/internal/ftobjs.h> - - -#ifdef FT_DEBUG_LOGGING - - /************************************************************************** - * - * Variables used to control logging. - * - * 1. `ft_default_trace_level` stores the value of trace levels, which are - * provided to FreeType using the `FT2_DEBUG` environment variable. - * - * 2. `ft_fileptr` stores the `FILE*` handle. - * - * 3. `ft_component` is a string that holds the name of `FT_COMPONENT`. - * - * 4. The flag `ft_component_flag` prints the name of `FT_COMPONENT` along - * with the actual log message if set to true. - * - * 5. The flag `ft_timestamp_flag` prints time along with the actual log - * message if set to ture. - * - * 6. `ft_have_newline_char` is used to differentiate between a log - * message with and without a trailing newline character. - * - * 7. `ft_custom_trace_level` stores the custom trace level value, which - * is provided by the user at run-time. - * - * We use `static` to avoid 'unused variable' warnings. - * - */ - static const char* ft_default_trace_level = NULL; - static FILE* ft_fileptr = NULL; - static const char* ft_component = NULL; - static FT_Bool ft_component_flag = FALSE; - static FT_Bool ft_timestamp_flag = FALSE; - static FT_Bool ft_have_newline_char = TRUE; - static const char* ft_custom_trace_level = NULL; - - /* declared in ftdebug.h */ - - dlg_handler ft_default_log_handler = NULL; - FT_Custom_Log_Handler custom_output_handler = NULL; - -#endif /* FT_DEBUG_LOGGING*/ #ifdef FT_DEBUG_LEVEL_ERROR @@ -253,17 +207,8 @@ FT_BASE_DEF( void ) ft_debug_init( void ) { - const char* ft2_debug = NULL; - + const char* ft2_debug = getenv( "FT2_DEBUG" ); -#ifdef FT_DEBUG_LOGGING - if ( ft_custom_trace_level != NULL ) - ft2_debug = ft_custom_trace_level; - else - ft2_debug = ft_default_trace_level; -#else - ft2_debug = ft_getenv( "FT2_DEBUG" ); -#endif if ( ft2_debug ) { @@ -277,49 +222,6 @@ if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' ) continue; -#ifdef FT_DEBUG_LOGGING - - /* check extra arguments for logging */ - if ( *p == '-' ) - { - const char* r = ++p; - - - if ( *r == 'v' ) - { - const char* s = ++r; - - - ft_component_flag = TRUE; - - if ( *s == 't' ) - { - ft_timestamp_flag = TRUE; - p++; - } - - p++; - } - - else if ( *r == 't' ) - { - const char* s = ++r; - - - ft_timestamp_flag = TRUE; - - if ( *s == 'v' ) - { - ft_component_flag = TRUE; - p++; - } - - p++; - } - } - -#endif /* FT_DEBUG_LOGGING */ - /* read toggle name, followed by ':' */ q = p; while ( *p && *p != ':' ) @@ -421,237 +323,8 @@ /* nothing */ } -#endif /* !FT_DEBUG_LEVEL_TRACE */ - - -#ifdef FT_DEBUG_LOGGING - - /************************************************************************** - * - * Initialize and de-initialize 'dlg' library. - * - */ - - FT_BASE_DEF( void ) - ft_logging_init( void ) - { - ft_default_log_handler = ft_log_handler; - ft_default_trace_level = ft_getenv( "FT2_DEBUG" ); - - if ( ft_getenv( "FT_LOGGING_FILE" ) ) - ft_fileptr = ft_fopen( ft_getenv( "FT_LOGGING_FILE" ), "w" ); - else - ft_fileptr = stderr; - - ft_debug_init(); - - /* Set the default output handler for 'dlg'. */ - dlg_set_handler( ft_default_log_handler, NULL ); - } - - FT_BASE_DEF( void ) - ft_logging_deinit( void ) - { - if ( ft_fileptr != stderr ) - ft_fclose( ft_fileptr ); - } - - - /************************************************************************** - * - * An output log handler for FreeType. - * - */ - FT_BASE_DEF( void ) - ft_log_handler( const struct dlg_origin* origin, - const char* string, - void* data ) - { - char features_buf[128]; - char* bufp = features_buf; - - FT_UNUSED( data ); - - - if ( ft_have_newline_char ) - { - const char* features = NULL; - size_t features_length = 0; - - -#define FEATURES_TIMESTAMP "[%h:%m] " -#define FEATURES_COMPONENT "[%t] " -#define FEATURES_TIMESTAMP_COMPONENT "[%h:%m %t] " - - if ( ft_timestamp_flag && ft_component_flag ) - { - features = FEATURES_TIMESTAMP_COMPONENT; - features_length = sizeof ( FEATURES_TIMESTAMP_COMPONENT ); - } - else if ( ft_timestamp_flag ) - { - features = FEATURES_TIMESTAMP; - features_length = sizeof ( FEATURES_TIMESTAMP ); - } - else if ( ft_component_flag ) - { - features = FEATURES_COMPONENT; - features_length = sizeof ( FEATURES_COMPONENT ); - } - - if ( ft_component_flag || ft_timestamp_flag ) - { - ft_strncpy( features_buf, features, features_length ); - bufp += features_length - 1; - } - - if ( ft_component_flag ) - { - size_t tag_length = ft_strlen( *origin->tags ); - size_t i; - - - /* To vertically align tracing messages we compensate the */ - /* different FT_COMPONENT string lengths by inserting an */ - /* appropriate amount of space characters. */ - for ( i = 0; - i < FT_MAX_TRACE_LEVEL_LENGTH - tag_length; - i++ ) - *bufp++ = ' '; - } - } - - /* Finally add the format string for the tracing message. */ - *bufp++ = '%'; - *bufp++ = 'c'; - *bufp = '\0'; - - dlg_generic_outputf_stream( ft_fileptr, - (const char*)features_buf, - origin, - string, - dlg_default_output_styles, - true ); - - if ( ft_strrchr( string, '\n' ) ) - ft_have_newline_char = TRUE; - else - ft_have_newline_char = FALSE; - } - - - /* documentation is in ftdebug.h */ - FT_BASE_DEF( void ) - ft_add_tag( const char* tag ) - { - ft_component = tag; - - dlg_add_tag( tag, NULL ); - } - - - /* documentation is in ftdebug.h */ - FT_BASE_DEF( void ) - ft_remove_tag( const char* tag ) - { - dlg_remove_tag( tag, NULL ); - } - - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Level( const char* level ) - { - ft_component_flag = FALSE; - ft_timestamp_flag = FALSE; - ft_custom_trace_level = level; - - ft_debug_init(); - } - - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Default_Level( void ) - { - ft_component_flag = FALSE; - ft_timestamp_flag = FALSE; - ft_custom_trace_level = NULL; - - ft_debug_init(); - } - - - /************************************************************************** - * - * Functions to handle a custom log handler. - * - */ - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Set_Log_Handler( FT_Custom_Log_Handler handler ) - { - custom_output_handler = handler; - } - - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Set_Default_Log_Handler( void ) - { - custom_output_handler = NULL; - } - - - /* documentation is in ftdebug.h */ - FT_BASE_DEF( void ) - FT_Logging_Callback( const char* fmt, - ... ) - { - va_list ap; - - - va_start( ap, fmt ); - custom_output_handler( ft_component, fmt, ap ); - va_end( ap ); - } - -#else /* !FT_DEBUG_LOGGING */ - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Level( const char* level ) - { - FT_UNUSED( level ); - } - - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Default_Level( void ) - { - /* nothing */ - } - - - FT_EXPORT_DEF( void ) - FT_Set_Log_Handler( FT_Custom_Log_Handler handler ) - { - FT_UNUSED( handler ); - } - - - FT_EXPORT_DEF( void ) - FT_Set_Default_Log_Handler( void ) - { - /* nothing */ - } - -#endif /* !FT_DEBUG_LOGGING */ +#endif /* !FT_DEBUG_LEVEL_TRACE */ /* END */ |