0,0 → 1,173 |
/***************************************************************************/ |
/* */ |
/* ftstdlib.h */ |
/* */ |
/* ANSI-specific library and header configuration file (specification */ |
/* only). */ |
/* */ |
/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2009 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 file is used to group all #includes to the ANSI C library that */ |
/* FreeType normally requires. It also defines macros to rename the */ |
/* standard functions within the FreeType source code. */ |
/* */ |
/* Load a file which defines __FTSTDLIB_H__ before this one to override */ |
/* it. */ |
/* */ |
/*************************************************************************/ |
|
|
#ifndef __FTSTDLIB_H__ |
#define __FTSTDLIB_H__ |
|
|
#include <stddef.h> |
|
#define ft_ptrdiff_t ptrdiff_t |
|
|
/**********************************************************************/ |
/* */ |
/* integer limits */ |
/* */ |
/* UINT_MAX and ULONG_MAX are used to automatically compute the size */ |
/* of `int' and `long' in bytes at compile-time. So far, this works */ |
/* for all platforms the library has been tested on. */ |
/* */ |
/* Note that on the extremely rare platforms that do not provide */ |
/* integer types that are _exactly_ 16 and 32 bits wide (e.g. some */ |
/* old Crays where `int' is 36 bits), we do not make any guarantee */ |
/* about the correct behaviour of FT2 with all fonts. */ |
/* */ |
/* In these case, `ftconfig.h' will refuse to compile anyway with a */ |
/* message like `couldn't find 32-bit type' or something similar. */ |
/* */ |
/**********************************************************************/ |
|
|
#include <limits.h> |
|
#define FT_CHAR_BIT CHAR_BIT |
#define FT_INT_MAX INT_MAX |
#define FT_INT_MIN INT_MIN |
#define FT_UINT_MAX UINT_MAX |
#define FT_ULONG_MAX ULONG_MAX |
|
|
/**********************************************************************/ |
/* */ |
/* character and string processing */ |
/* */ |
/**********************************************************************/ |
|
|
#include <string.h> |
|
#define ft_memchr memchr |
#define ft_memcmp memcmp |
#define ft_memcpy memcpy |
#define ft_memmove memmove |
#define ft_memset memset |
#define ft_strcat strcat |
#define ft_strcmp strcmp |
#define ft_strcpy strcpy |
#define ft_strlen strlen |
#define ft_strncmp strncmp |
#define ft_strncpy strncpy |
#define ft_strrchr strrchr |
#define ft_strstr strstr |
|
|
/**********************************************************************/ |
/* */ |
/* file handling */ |
/* */ |
/**********************************************************************/ |
|
|
#include <stdio.h> |
|
#define FT_FILE FILE |
#define ft_fclose fclose |
#define ft_fopen fopen |
#define ft_fread fread |
#define ft_fseek fseek |
#define ft_ftell ftell |
#define ft_sprintf sprintf |
|
|
/**********************************************************************/ |
/* */ |
/* sorting */ |
/* */ |
/**********************************************************************/ |
|
|
#include <stdlib.h> |
|
#define ft_qsort qsort |
|
|
/**********************************************************************/ |
/* */ |
/* memory allocation */ |
/* */ |
/**********************************************************************/ |
|
|
#define ft_scalloc calloc |
#define ft_sfree free |
#define ft_smalloc malloc |
#define ft_srealloc realloc |
|
|
/**********************************************************************/ |
/* */ |
/* miscellaneous */ |
/* */ |
/**********************************************************************/ |
|
|
#define ft_atol atol |
#define ft_labs labs |
|
|
/**********************************************************************/ |
/* */ |
/* execution control */ |
/* */ |
/**********************************************************************/ |
|
|
#include <setjmp.h> |
|
#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */ |
/* jmp_buf is defined as a macro */ |
/* on certain platforms */ |
|
#define ft_longjmp longjmp |
#define ft_setjmp( b ) setjmp( *(jmp_buf*) &(b) ) /* same thing here */ |
|
|
/* the following is only used for debugging purposes, i.e., if */ |
/* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined */ |
|
#include <stdarg.h> |
|
|
#endif /* __FTSTDLIB_H__ */ |
|
|
/* END */ |