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