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