1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/
2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  ftstdlib.h                                                             */
4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*    ANSI-specific library and header configuration file (specification   */
6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*    only).                                                               */
7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  Copyright 2002-2007, 2009, 2011-2012 by                                */
9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  This file is part of the FreeType project, and may only be used,       */
12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  modified, and distributed under the terms of the FreeType project      */
13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  this file you indicate that you have read the license and              */
15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  understand and accept it fully.                                        */
16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/
18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                       */
22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* This file is used to group all #includes to the ANSI C library that   */
23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* FreeType normally requires.  It also defines macros to rename the     */
24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* standard functions within the FreeType source code.                   */
25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                       */
26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* Load a file which defines __FTSTDLIB_H__ before this one to override  */
27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* it.                                                                   */
28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                       */
29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef __FTSTDLIB_H__
33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define __FTSTDLIB_H__
34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <stddef.h>
37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_ptrdiff_t  ptrdiff_t
39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                           integer limits                           */
44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* UINT_MAX and ULONG_MAX are used to automatically compute the size  */
46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* of `int' and `long' in bytes at compile-time.  So far, this works  */
47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* for all platforms the library has been tested on.                  */
48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* Note that on the extremely rare platforms that do not provide      */
50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* integer types that are _exactly_ 16 and 32 bits wide (e.g. some    */
51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* old Crays where `int' is 36 bits), we do not make any guarantee    */
52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* about the correct behaviour of FT2 with all fonts.                 */
53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* In these case, `ftconfig.h' will refuse to compile anyway with a   */
55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* message like `couldn't find 32-bit type' or something similar.     */
56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <limits.h>
61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_CHAR_BIT    CHAR_BIT
63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_USHORT_MAX  USHRT_MAX
64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_INT_MAX     INT_MAX
65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_INT_MIN     INT_MIN
66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_UINT_MAX    UINT_MAX
67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_ULONG_MAX   ULONG_MAX
68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                 character and string processing                    */
73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../../../../../../include/fxcrt/fx_system.h"
77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <string.h>
78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memchr   FXSYS_memchr
80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memcmp   FXSYS_memcmp32
81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memcpy   FXSYS_memcpy32
82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memmove  FXSYS_memmove32
83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memset   FXSYS_memset8
84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#define ft_strcat   FXSYS_strcat
85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strcmp   FXSYS_strcmp
86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strcpy   FXSYS_strcpy
87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strlen   FXSYS_strlen
88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strncmp  FXSYS_strncmp
89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strncpy  FXSYS_strncpy
90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strrchr  FXSYS_strrchr
91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strstr   FXSYS_strstr
92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                           file handling                            */
97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <stdio.h>
102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_FILE     FXSYS_FILE
104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fclose   FXSYS_fclose
105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fopen    FXSYS_fopen
106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fread    FXSYS_fread
107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fseek    FXSYS_fseek
108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_ftell    FXSYS_ftell
109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_sprintf  FXSYS_sprintf
110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                             sorting                                */
115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#include <stdlib.h>
120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_qsort  FXSYS_qsort
122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                        memory allocation                           */
127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_scalloc   calloc
132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_sfree     free
133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_smalloc   malloc
134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_srealloc  realloc
135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                          miscellaneous                             */
140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_atol   FXSYS_atoi
145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_labs   labs
146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                         execution control                          */
151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*                                                                    */
152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /**********************************************************************/
153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#include <setjmp.h>
156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_jmp_buf     jmp_buf  /* note: this cannot be a typedef since */
158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                                /*       jmp_buf is defined as a macro  */
159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                                /*       on certain platforms           */
160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_longjmp     longjmp
162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */
163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* the following is only used for debugging purposes, i.e., if */
166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined    */
167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <stdarg.h>
169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif /* __FTSTDLIB_H__ */
172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* END */
175