ReactOS 0.4.16-dev-1019-g2c2cdfd
ftvalid.h File Reference
#include <ft2build.h>
Include dependency graph for ftvalid.h:

Go to the source code of this file.

Classes

struct  FT_ValidatorRec_
 

Macros

#define FT_VALIDATOR(x)   ( (FT_Validator)( x ) )
 
#define FT_INVALID(_error)   FT_INVALID_( _error )
 
#define FT_INVALID_(_error)    ft_validator_error( valid, FT_THROW( _error ) )
 
#define FT_INVALID_TOO_SHORT    FT_INVALID( Invalid_Table )
 
#define FT_INVALID_OFFSET    FT_INVALID( Invalid_Offset )
 
#define FT_INVALID_FORMAT    FT_INVALID( Invalid_Table )
 
#define FT_INVALID_GLYPH_ID    FT_INVALID( Invalid_Glyph_Index )
 
#define FT_INVALID_DATA    FT_INVALID( Invalid_Table )
 

Typedefs

typedef typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatileFT_Validator
 
typedef enum FT_ValidationLevel_ FT_ValidationLevel
 
typedef struct FT_ValidatorRec_ FT_ValidatorRec
 

Enumerations

enum  FT_ValidationLevel_ { FT_VALIDATE_DEFAULT = 0 , FT_VALIDATE_TIGHT , FT_VALIDATE_PARANOID }
 

Functions

 ft_validator_init (FT_Validator valid, const FT_Byte *base, const FT_Byte *limit, FT_ValidationLevel level)
 
 ft_validator_run (FT_Validator valid)
 
 ft_validator_error (FT_Validator valid, FT_Error error)
 

Macro Definition Documentation

◆ FT_INVALID

#define FT_INVALID (   _error)    FT_INVALID_( _error )

Definition at line 129 of file ftvalid.h.

◆ FT_INVALID_

#define FT_INVALID_ (   _error)     ft_validator_error( valid, FT_THROW( _error ) )

Definition at line 130 of file ftvalid.h.

◆ FT_INVALID_DATA

#define FT_INVALID_DATA    FT_INVALID( Invalid_Table )

Definition at line 150 of file ftvalid.h.

◆ FT_INVALID_FORMAT

#define FT_INVALID_FORMAT    FT_INVALID( Invalid_Table )

Definition at line 142 of file ftvalid.h.

◆ FT_INVALID_GLYPH_ID

#define FT_INVALID_GLYPH_ID    FT_INVALID( Invalid_Glyph_Index )

Definition at line 146 of file ftvalid.h.

◆ FT_INVALID_OFFSET

#define FT_INVALID_OFFSET    FT_INVALID( Invalid_Offset )

Definition at line 138 of file ftvalid.h.

◆ FT_INVALID_TOO_SHORT

#define FT_INVALID_TOO_SHORT    FT_INVALID( Invalid_Table )

Definition at line 134 of file ftvalid.h.

◆ FT_VALIDATOR

#define FT_VALIDATOR (   x)    ( (FT_Validator)( x ) )

Definition at line 103 of file ftvalid.h.

Typedef Documentation

◆ FT_ValidationLevel

◆ FT_Validator

typedef typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile* FT_Validator

Definition at line 42 of file ftvalid.h.

◆ FT_ValidatorRec

Enumeration Type Documentation

◆ FT_ValidationLevel_

Enumerator
FT_VALIDATE_DEFAULT 
FT_VALIDATE_TIGHT 
FT_VALIDATE_PARANOID 

Definition at line 70 of file ftvalid.h.

71 {
75
@ FT_VALIDATE_DEFAULT
Definition: ftvalid.h:72
@ FT_VALIDATE_TIGHT
Definition: ftvalid.h:73
@ FT_VALIDATE_PARANOID
Definition: ftvalid.h:74
enum FT_ValidationLevel_ FT_ValidationLevel

Function Documentation

◆ ft_validator_error()

ft_validator_error ( FT_Validator  valid,
FT_Error  error 
)

Definition at line 157 of file ftobjs.c.

159 {
160 /* since the cast below also disables the compiler's */
161 /* type check, we introduce a dummy variable, which */
162 /* will be optimized away */
163 volatile ft_jmp_buf* jump_buffer = &valid->jump_buffer;
164
165
166 valid->error = error;
167
168 /* throw away volatileness; use `jump_buffer' or the */
169 /* compiler may warn about an unused local variable */
170 ft_longjmp( *(ft_jmp_buf*) jump_buffer, 1 );
171 }
#define ft_jmp_buf
Definition: ftstdlib.h:158
#define ft_longjmp
Definition: ftstdlib.h:162
BOOLEAN valid
#define error(str)
Definition: mkdosfs.c:1605

◆ ft_validator_init()

ft_validator_init ( FT_Validator  valid,
const FT_Byte base,
const FT_Byte limit,
FT_ValidationLevel  level 
)

Definition at line 134 of file ftobjs.c.

138 {
139 valid->base = base;
140 valid->limit = limit;
141 valid->level = level;
142 valid->error = FT_Err_Ok;
143 }
return FT_Err_Ok
Definition: ftbbox.c:527
GLint level
Definition: gl.h:1546
GLint limit
Definition: glext.h:10326

Referenced by classic_kern_validate(), otv_validate(), and tt_face_build_cmaps().

◆ ft_validator_run()

ft_validator_run ( FT_Validator  valid)

Definition at line 147 of file ftobjs.c.

148 {
149 /* This function doesn't work! None should call it. */
150 FT_UNUSED( valid );
151
152 return -1;
153 }
#define FT_UNUSED(arg)
Definition: ftconfig.h:100