Synchronize `ftdebug.c' files.

* builds/amiga/src/base/ftdebug.c, builds/wince/ftdebug.c,
builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c'.
This commit is contained in:
Werner Lemberg 2018-09-05 12:16:56 +02:00
parent 97c7944f9e
commit f8af8fba78
4 changed files with 463 additions and 212 deletions

View File

@ -1,3 +1,10 @@
2018-09-05 Werner Lemberg <wl@gnu.org>
Synchronize `ftdebug.c' files.
* builds/amiga/src/base/ftdebug.c, builds/wince/ftdebug.c,
builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c'.
2018-09-05 Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com> 2018-09-05 Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>
Add documentation guidelines file. Add documentation guidelines file.

View File

@ -1,67 +1,69 @@
/***************************************************************************/ /****************************************************************************
/* */ *
/* ftdebug.c */ * ftdebug.c
/* */ *
/* Debugging and logging component for amiga (body). */ * Debugging and logging component for amiga (body).
/* */ *
/* Copyright 1996-2018 by */ * Copyright 1996-2018 by
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */ * David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner.
/* */ *
/* This file is part of the FreeType project, and may only be used, */ * This file is part of the FreeType project, and may only be used,
/* modified, and distributed under the terms of the FreeType project */ * modified, and distributed under the terms of the FreeType project
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ * license, LICENSE.TXT. By continuing to use, modify, or distribute
/* this file you indicate that you have read the license and */ * this file you indicate that you have read the license and
/* understand and accept it fully. */ * understand and accept it fully.
/* */ *
/***************************************************************************/ */
/*************************************************************************/ /**************************************************************************
/* */ *
/* This component contains various macros and functions used to ease the */ * This component contains various macros and functions used to ease the
/* debugging of the FreeType engine. Its main purpose is in assertion */ * debugging of the FreeType engine. Its main purpose is in assertion
/* checking, tracing, and error detection. */ * checking, tracing, and error detection.
/* */ *
/* There are now three debugging modes: */ * There are now three debugging modes:
/* */ *
/* - trace mode */ * - trace mode
/* */ *
/* Error and trace messages are sent to the log file (which can be the */ * Error and trace messages are sent to the log file (which can be the
/* standard error output). */ * standard error output).
/* */ *
/* - error mode */ * - error mode
/* */ *
/* Only error messages are generated. */ * Only error messages are generated.
/* */ *
/* - release mode: */ * - release mode:
/* */ *
/* No error message is sent or generated. The code is free from any */ * No error message is sent or generated. The code is free from any
/* debugging parts. */ * debugging parts.
/* */ *
/*************************************************************************/ */
/* /*
* Based on the default ftdebug.c, * Based on the default `ftdebug.c' file,
* replaced vprintf() with KVPrintF(), * replaced `vprintf' with `KVPrintF',
* commented out exit(), * commented out `exit',
* replaced getenv() with GetVar(). * replaced `getenv' with `GetVar'.
*/ */
#include <exec/types.h> #include <exec/types.h>
#include <utility/tagitem.h> #include <utility/tagitem.h>
#include <dos/exall.h> #include <dos/exall.h>
#include <dos/var.h> #include <dos/var.h>
#define __NOLIBBASE__ #define __NOLIBBASE__
#define __NOLOBALIFACE__ #define __NOLOBALIFACE__
#define __USE_INLINE__ #define __USE_INLINE__
#include <proto/dos.h> #include <proto/dos.h>
#include <clib/debug_protos.h> #include <clib/debug_protos.h>
#ifndef __amigaos4__ #ifndef __amigaos4__
extern struct Library *DOSBase; extern struct Library* DOSBase;
#else #else
extern struct DOSIFace *IDOS; extern struct DOSIFace* IDOS;
#endif #endif
@ -70,7 +72,7 @@
#include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_DEBUG_H
#if defined( FT_DEBUG_LEVEL_ERROR ) #ifdef FT_DEBUG_LEVEL_ERROR
/* documentation is in ftdebug.h */ /* documentation is in ftdebug.h */
@ -100,7 +102,7 @@
KVPrintF( fmt, ap ); KVPrintF( fmt, ap );
va_end( ap ); va_end( ap );
/* exit( EXIT_FAILURE ); */ /* exit( EXIT_FAILURE ); */
} }
@ -111,9 +113,19 @@
int line, int line,
const char* file ) 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( error );
FT_UNUSED( line ); FT_UNUSED( line );
FT_UNUSED( file ); FT_UNUSED( file );
#endif
return 0; return 0;
} }
@ -124,9 +136,16 @@
#ifdef FT_DEBUG_LEVEL_TRACE #ifdef FT_DEBUG_LEVEL_TRACE
/* array of trace levels, initialized to 0 */ /* array of trace levels, initialized to 0; */
int ft_trace_levels[trace_count]; /* 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 array of trace toggle names */
#define FT_TRACE_DEF( x ) #x , #define FT_TRACE_DEF( x ) #x ,
@ -164,33 +183,51 @@
} }
/*************************************************************************/ /* documentation is in ftdebug.h */
/* */
/* Initialize the tracing sub-system. This is done by retrieving the */ FT_BASE_DEF( void )
/* value of the `FT2_DEBUG' environment variable. It must be a list of */ FT_Trace_Disable( void )
/* toggles, separated by spaces, `;', or `,'. Example: */ {
/* */ ft_trace_levels = ft_trace_levels_disabled;
/* 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, */ /* documentation is in ftdebug.h */
/* respectively. */
/* */ FT_BASE_DEF( void )
/* See the file `include/freetype/internal/fttrace.h' for details of the */ FT_Trace_Enable( void )
/* available toggle names. */ {
/* */ ft_trace_levels = ft_trace_levels_enabled;
/* The level must be between 0 and 7; 0 means quiet (except for serious */ }
/* runtime errors), and 7 means _very_ verbose. */
/* */
/**************************************************************************
*
* 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_BASE_DEF( void )
ft_debug_init( void ) ft_debug_init( void )
{ {
/* const char* ft2_debug = getenv( "FT2_DEBUG" ); */ /* const char* ft2_debug = ft_getenv( "FT2_DEBUG" ); */
char buf[256]; char buf[256];
const char* ft2_debug = &buf[0]; const char* ft2_debug = &buf[0];
/* if ( ft2_debug ) */ /* if ( ft2_debug ) */
if ( GetVar( "FT2_DEBUG", (STRPTR)ft2_debug, 256, LV_VAR ) > 0 ) if ( GetVar( "FT2_DEBUG", (STRPTR)ft2_debug, 256, LV_VAR ) > 0 )
{ {
const char* p = ft2_debug; const char* p = ft2_debug;
@ -250,14 +287,16 @@
{ {
/* special case for `any' */ /* special case for `any' */
for ( n = 0; n < trace_count; n++ ) for ( n = 0; n < trace_count; n++ )
ft_trace_levels[n] = level; ft_trace_levels_enabled[n] = level;
} }
else else
ft_trace_levels[found] = level; ft_trace_levels_enabled[found] = level;
} }
} }
} }
} }
ft_trace_levels = ft_trace_levels_enabled;
} }
@ -287,11 +326,23 @@
} }
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 */ #endif /* !FT_DEBUG_LEVEL_TRACE */
/*
Local Variables:
coding: latin-1
End:
*/
/* END */ /* END */

View File

@ -1,53 +1,53 @@
/***************************************************************************/ /****************************************************************************
/* */ *
/* ftdebug.c */ * ftdebug.c
/* */ *
/* Debugging and logging component for WinCE (body). */ * Debugging and logging component for WinCE (body).
/* */ *
/* Copyright 1996-2018 by */ * Copyright 1996-2018 by
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ * David Turner, Robert Wilhelm, and Werner Lemberg.
/* */ *
/* This file is part of the FreeType project, and may only be used, */ * This file is part of the FreeType project, and may only be used,
/* modified, and distributed under the terms of the FreeType project */ * modified, and distributed under the terms of the FreeType project
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ * license, LICENSE.TXT. By continuing to use, modify, or distribute
/* this file you indicate that you have read the license and */ * this file you indicate that you have read the license and
/* understand and accept it fully. */ * understand and accept it fully.
/* */ *
/***************************************************************************/ */
/*************************************************************************/ /**************************************************************************
/* */ *
/* This component contains various macros and functions used to ease the */ * This component contains various macros and functions used to ease the
/* debugging of the FreeType engine. Its main purpose is in assertion */ * debugging of the FreeType engine. Its main purpose is in assertion
/* checking, tracing, and error detection. */ * checking, tracing, and error detection.
/* */ *
/* There are now three debugging modes: */ * There are now three debugging modes:
/* */ *
/* - trace mode */ * - trace mode
/* */ *
/* Error and trace messages are sent to the log file (which can be the */ * Error and trace messages are sent to the log file (which can be the
/* standard error output). */ * standard error output).
/* */ *
/* - error mode */ * - error mode
/* */ *
/* Only error messages are generated. */ * Only error messages are generated.
/* */ *
/* - release mode: */ * - release mode:
/* */ *
/* No error message is sent or generated. The code is free from any */ * No error message is sent or generated. The code is free from any
/* debugging parts. */ * debugging parts.
/* */ *
/*************************************************************************/ */
#include <ft2build.h> #include <ft2build.h>
#include FT_FREETYPE_H
#include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_DEBUG_H
#ifdef FT_DEBUG_LEVEL_ERROR #ifdef FT_DEBUG_LEVEL_ERROR
#include <stdarg.h> #include <stdarg.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -55,14 +55,15 @@
#include <windows.h> #include <windows.h>
void static void
OutputDebugStringEx( const char* str ) OutputDebugStringEx( const char* str )
{ {
static WCHAR buf[8192]; static WCHAR buf[8192];
int sz = MultiByteToWideChar( CP_ACP, 0, str, -1, buf,
sizeof ( buf ) / sizeof ( *buf ) );
int sz = MultiByteToWideChar( CP_ACP, 0, str, -1, buf,
sizeof ( buf ) / sizeof ( *buf ) );
if ( !sz ) if ( !sz )
lstrcpyW( buf, L"OutputDebugStringEx: MultiByteToWideChar failed" ); lstrcpyW( buf, L"OutputDebugStringEx: MultiByteToWideChar failed" );
@ -70,6 +71,8 @@
} }
/* documentation is in ftdebug.h */
FT_BASE_DEF( void ) FT_BASE_DEF( void )
FT_Message( const char* fmt, FT_Message( const char* fmt,
... ) ... )
@ -87,6 +90,8 @@
} }
/* documentation is in ftdebug.h */
FT_BASE_DEF( void ) FT_BASE_DEF( void )
FT_Panic( const char* fmt, FT_Panic( const char* fmt,
... ) ... )
@ -111,18 +116,38 @@
int line, int line,
const char* file ) 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( error );
FT_UNUSED( line ); FT_UNUSED( line );
FT_UNUSED( file ); FT_UNUSED( file );
#endif
return 0; return 0;
} }
#endif /* FT_DEBUG_LEVEL_ERROR */
#ifdef FT_DEBUG_LEVEL_TRACE #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, initialized to 0 */ /* array of trace levels, always initialized to 0 */
int ft_trace_levels[trace_count]; 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 array of trace toggle names */
#define FT_TRACE_DEF( x ) #x , #define FT_TRACE_DEF( x ) #x ,
@ -136,24 +161,66 @@
#undef FT_TRACE_DEF #undef FT_TRACE_DEF
/*************************************************************************/ /* documentation is in ftdebug.h */
/* */
/* Initialize the tracing sub-system. This is done by retrieving the */ FT_BASE_DEF( FT_Int )
/* value of the "FT2_DEBUG" environment variable. It must be a list of */ FT_Trace_Get_Count( void )
/* toggles, separated by spaces, `;' or `,'. Example: */ {
/* */ return trace_count;
/* "any:3 memory:6 stream:5" */ }
/* */
/* This will request that all levels be set to 3, except the trace level */
/* for the memory and stream components which are set to 6 and 5, */ /* documentation is in ftdebug.h */
/* respectively. */
/* */ FT_BASE_DEF( const char * )
/* See the file `include/freetype/internal/fttrace.h' for details of the */ FT_Trace_Get_Name( FT_Int idx )
/* available toggle names. */ {
/* */ int max = FT_Trace_Get_Count();
/* The level must be between 0 and 6; 0 means quiet (except for serious */
/* runtime errors), and 6 means _very_ verbose. */
/* */ if ( idx < max )
return ft_trace_toggles[idx];
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_BASE_DEF( void )
ft_debug_init( void ) ft_debug_init( void )
{ {
@ -189,8 +256,8 @@
if ( *p == ':' && p > q ) if ( *p == ':' && p > q )
{ {
int n, i, len = (int)( p - q ); FT_Int n, i, len = (FT_Int)( p - q );
int level = -1, found = -1; FT_Int level = -1, found = -1;
for ( n = 0; n < trace_count; n++ ) for ( n = 0; n < trace_count; n++ )
@ -224,16 +291,18 @@
{ {
if ( found == trace_any ) if ( found == trace_any )
{ {
/* special case for "any" */ /* special case for `any' */
for ( n = 0; n < trace_count; n++ ) for ( n = 0; n < trace_count; n++ )
ft_trace_levels[n] = level; ft_trace_levels_enabled[n] = level;
} }
else else
ft_trace_levels[found] = level; ft_trace_levels_enabled[found] = level;
} }
} }
} }
} }
ft_trace_levels = ft_trace_levels_enabled;
} }
@ -247,9 +316,39 @@
} }
#endif /* !FT_DEBUG_LEVEL_TRACE */ FT_BASE_DEF( FT_Int )
FT_Trace_Get_Count( void )
{
return 0;
}
#endif /* FT_DEBUG_LEVEL_ERROR */
FT_BASE_DEF( const char * )
FT_Trace_Get_Name( FT_Int idx )
{
FT_UNUSED( idx );
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 */ /* END */

View File

@ -1,47 +1,48 @@
/***************************************************************************/ /****************************************************************************
/* */ *
/* ftdebug.c */ * ftdebug.c
/* */ *
/* Debugging and logging component for Win32 (body). */ * Debugging and logging component for Win32 (body).
/* */ *
/* Copyright 1996-2018 by */ * Copyright 1996-2018 by
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ * David Turner, Robert Wilhelm, and Werner Lemberg.
/* */ *
/* This file is part of the FreeType project, and may only be used, */ * This file is part of the FreeType project, and may only be used,
/* modified, and distributed under the terms of the FreeType project */ * modified, and distributed under the terms of the FreeType project
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ * license, LICENSE.TXT. By continuing to use, modify, or distribute
/* this file you indicate that you have read the license and */ * this file you indicate that you have read the license and
/* understand and accept it fully. */ * understand and accept it fully.
/* */ *
/***************************************************************************/ */
/*************************************************************************/ /**************************************************************************
/* */ *
/* This component contains various macros and functions used to ease the */ * This component contains various macros and functions used to ease the
/* debugging of the FreeType engine. Its main purpose is in assertion */ * debugging of the FreeType engine. Its main purpose is in assertion
/* checking, tracing, and error detection. */ * checking, tracing, and error detection.
/* */ *
/* There are now three debugging modes: */ * There are now three debugging modes:
/* */ *
/* - trace mode */ * - trace mode
/* */ *
/* Error and trace messages are sent to the log file (which can be the */ * Error and trace messages are sent to the log file (which can be the
/* standard error output). */ * standard error output).
/* */ *
/* - error mode */ * - error mode
/* */ *
/* Only error messages are generated. */ * Only error messages are generated.
/* */ *
/* - release mode: */ * - release mode:
/* */ *
/* No error message is sent or generated. The code is free from any */ * No error message is sent or generated. The code is free from any
/* debugging parts. */ * debugging parts.
/* */ *
/*************************************************************************/ */
#include <ft2build.h> #include <ft2build.h>
#include FT_FREETYPE_H
#include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_DEBUG_H
@ -99,19 +100,38 @@
int line, int line,
const char* file ) 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( error );
FT_UNUSED( line ); FT_UNUSED( line );
FT_UNUSED( file ); FT_UNUSED( file );
#endif
return 0; return 0;
} }
#endif /* FT_DEBUG_LEVEL_ERROR */
#ifdef FT_DEBUG_LEVEL_TRACE #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, initialized to 0 */ /* array of trace levels, always initialized to 0 */
int ft_trace_levels[trace_count]; 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 array of trace toggle names */
#define FT_TRACE_DEF( x ) #x , #define FT_TRACE_DEF( x ) #x ,
@ -125,24 +145,66 @@
#undef FT_TRACE_DEF #undef FT_TRACE_DEF
/*************************************************************************/ /* documentation is in ftdebug.h */
/* */
/* Initialize the tracing sub-system. This is done by retrieving the */ FT_BASE_DEF( FT_Int )
/* value of the "FT2_DEBUG" environment variable. It must be a list of */ FT_Trace_Get_Count( void )
/* toggles, separated by spaces, `;' or `,'. Example: */ {
/* */ return trace_count;
/* "any:3 memory:6 stream:5" */ }
/* */
/* This will request that all levels be set to 3, except the trace level */
/* for the memory and stream components which are set to 6 and 5, */ /* documentation is in ftdebug.h */
/* respectively. */
/* */ FT_BASE_DEF( const char * )
/* See the file `include/freetype/internal/fttrace.h' for details of the */ FT_Trace_Get_Name( FT_Int idx )
/* available toggle names. */ {
/* */ int max = FT_Trace_Get_Count();
/* The level must be between 0 and 6; 0 means quiet (except for serious */
/* runtime errors), and 6 means _very_ verbose. */
/* */ if ( idx < max )
return ft_trace_toggles[idx];
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_BASE_DEF( void )
ft_debug_init( void ) ft_debug_init( void )
{ {
@ -171,8 +233,8 @@
if ( *p == ':' && p > q ) if ( *p == ':' && p > q )
{ {
int n, i, len = (int)( p - q ); FT_Int n, i, len = (FT_Int)( p - q );
int level = -1, found = -1; FT_Int level = -1, found = -1;
for ( n = 0; n < trace_count; n++ ) for ( n = 0; n < trace_count; n++ )
@ -206,16 +268,18 @@
{ {
if ( found == trace_any ) if ( found == trace_any )
{ {
/* special case for "any" */ /* special case for `any' */
for ( n = 0; n < trace_count; n++ ) for ( n = 0; n < trace_count; n++ )
ft_trace_levels[n] = level; ft_trace_levels_enabled[n] = level;
} }
else else
ft_trace_levels[found] = level; ft_trace_levels_enabled[found] = level;
} }
} }
} }
} }
ft_trace_levels = ft_trace_levels_enabled;
} }
@ -229,9 +293,39 @@
} }
#endif /* !FT_DEBUG_LEVEL_TRACE */ FT_BASE_DEF( FT_Int )
FT_Trace_Get_Count( void )
{
return 0;
}
#endif /* FT_DEBUG_LEVEL_ERROR */
FT_BASE_DEF( const char * )
FT_Trace_Get_Name( FT_Int idx )
{
FT_UNUSED( idx );
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 */ /* END */