summaryrefslogtreecommitdiff
path: root/legacy/evil
diff options
context:
space:
mode:
authorVincent Torri <vincent.torri@gmail.com>2012-09-11 16:13:11 +0000
committerVincent Torri <vincent.torri@gmail.com>2012-09-11 16:13:11 +0000
commitcd69ef4c8a66e7155967a8b661a014856979cf31 (patch)
tree4a351ae4a4ca91abf29c85254b85ea8da71f74b0 /legacy/evil
parent59a9dfd11860888a35e96dfe51af63cea5cecfe1 (diff)
merge: add evil files
SVN revision: 76464
Diffstat (limited to 'legacy/evil')
-rw-r--r--legacy/evil/ChangeLog237
-rw-r--r--legacy/evil/ChangeLog.01441
-rw-r--r--legacy/evil/README22
-rw-r--r--legacy/evil/evil.pc.in13
-rw-r--r--legacy/evil/src/bin/Makefile.am53
-rw-r--r--legacy/evil/src/bin/evil_suite.c221
-rw-r--r--legacy/evil/src/bin/evil_suite.h14
-rw-r--r--legacy/evil/src/bin/evil_test_dlfcn.c80
-rw-r--r--legacy/evil/src/bin/evil_test_dlfcn.h8
-rw-r--r--legacy/evil/src/bin/evil_test_environment.c178
-rw-r--r--legacy/evil/src/bin/evil_test_environment.h8
-rw-r--r--legacy/evil/src/bin/evil_test_gettimeofday.c51
-rw-r--r--legacy/evil/src/bin/evil_test_gettimeofday.h8
-rw-r--r--legacy/evil/src/bin/evil_test_link.c158
-rw-r--r--legacy/evil/src/bin/evil_test_link.h8
-rw-r--r--legacy/evil/src/bin/evil_test_memcpy.c145
-rw-r--r--legacy/evil/src/bin/evil_test_memcpy.h8
-rw-r--r--legacy/evil/src/bin/evil_test_mkstemp.c53
-rw-r--r--legacy/evil/src/bin/evil_test_mkstemp.h8
-rw-r--r--legacy/evil/src/bin/evil_test_pipe.c126
-rw-r--r--legacy/evil/src/bin/evil_test_pipe.h8
-rw-r--r--legacy/evil/src/bin/evil_test_print.c46
-rw-r--r--legacy/evil/src/bin/evil_test_print.h8
-rw-r--r--legacy/evil/src/bin/evil_test_realpath.c44
-rw-r--r--legacy/evil/src/bin/evil_test_realpath.h8
-rw-r--r--legacy/evil/src/bin/evil_test_util.c110
-rw-r--r--legacy/evil/src/bin/evil_test_util.h8
-rw-r--r--legacy/evil/src/bin/memcpy_glibc_arm.S231
-rwxr-xr-xlegacy/evil/src/bin/memcpy_glibc_i686.S81
-rw-r--r--legacy/evil/src/bin/test_evil.c27
-rw-r--r--legacy/evil/src/lib/Evil.h186
-rw-r--r--legacy/evil/src/lib/Makefile.am132
-rw-r--r--legacy/evil/src/lib/dirent.h141
-rw-r--r--legacy/evil/src/lib/dlfcn.c272
-rw-r--r--legacy/evil/src/lib/dlfcn.h258
-rw-r--r--legacy/evil/src/lib/evil_dirent.c197
-rw-r--r--legacy/evil/src/lib/evil_errno.c9
-rw-r--r--legacy/evil/src/lib/evil_fcntl.c124
-rw-r--r--legacy/evil/src/lib/evil_fcntl.h110
-rw-r--r--legacy/evil/src/lib/evil_fnmatch.c231
-rw-r--r--legacy/evil/src/lib/evil_fnmatch_list_of_states.c77
-rw-r--r--legacy/evil/src/lib/evil_fnmatch_private.h24
-rw-r--r--legacy/evil/src/lib/evil_inet.c648
-rw-r--r--legacy/evil/src/lib/evil_inet.h149
-rw-r--r--legacy/evil/src/lib/evil_langinfo.c53
-rw-r--r--legacy/evil/src/lib/evil_langinfo.h41
-rw-r--r--legacy/evil/src/lib/evil_libgen.c103
-rw-r--r--legacy/evil/src/lib/evil_libgen.h88
-rw-r--r--legacy/evil/src/lib/evil_link_ce.c90
-rw-r--r--legacy/evil/src/lib/evil_link_xp.cpp151
-rw-r--r--legacy/evil/src/lib/evil_macro.h193
-rw-r--r--legacy/evil/src/lib/evil_macro_pop.h93
-rw-r--r--legacy/evil/src/lib/evil_main.c74
-rw-r--r--legacy/evil/src/lib/evil_main.h52
-rw-r--r--legacy/evil/src/lib/evil_mman.c234
-rw-r--r--legacy/evil/src/lib/evil_pformat.h61
-rw-r--r--legacy/evil/src/lib/evil_pformata.c2493
-rw-r--r--legacy/evil/src/lib/evil_pformatw.c9
-rw-r--r--legacy/evil/src/lib/evil_print.h37
-rw-r--r--legacy/evil/src/lib/evil_printa.c1786
-rw-r--r--legacy/evil/src/lib/evil_printw.c4
-rw-r--r--legacy/evil/src/lib/evil_private.h20
-rw-r--r--legacy/evil/src/lib/evil_pwd.c65
-rw-r--r--legacy/evil/src/lib/evil_stdio.c215
-rw-r--r--legacy/evil/src/lib/evil_stdio.h196
-rw-r--r--legacy/evil/src/lib/evil_stdlib.c453
-rw-r--r--legacy/evil/src/lib/evil_stdlib.h199
-rw-r--r--legacy/evil/src/lib/evil_string.c128
-rw-r--r--legacy/evil/src/lib/evil_string.h152
-rw-r--r--legacy/evil/src/lib/evil_time.c45
-rw-r--r--legacy/evil/src/lib/evil_time.h61
-rw-r--r--legacy/evil/src/lib/evil_unistd.c431
-rw-r--r--legacy/evil/src/lib/evil_unistd.h326
-rw-r--r--legacy/evil/src/lib/evil_util.c247
-rw-r--r--legacy/evil/src/lib/evil_util.h134
-rw-r--r--legacy/evil/src/lib/evil_uuid.c12
-rw-r--r--legacy/evil/src/lib/fnmatch.h54
-rw-r--r--legacy/evil/src/lib/gdtoa/README357
-rw-r--r--legacy/evil/src/lib/gdtoa/README.mingw20
-rw-r--r--legacy/evil/src/lib/gdtoa/arithchk.c192
-rw-r--r--legacy/evil/src/lib/gdtoa/dmisc.c196
-rw-r--r--legacy/evil/src/lib/gdtoa/dtoa.c750
-rw-r--r--legacy/evil/src/lib/gdtoa/g__fmt.c142
-rw-r--r--legacy/evil/src/lib/gdtoa/g_dfmt.c90
-rw-r--r--legacy/evil/src/lib/gdtoa/g_ffmt.c88
-rw-r--r--legacy/evil/src/lib/gdtoa/g_xfmt.c143
-rw-r--r--legacy/evil/src/lib/gdtoa/gd_arith.h6
-rw-r--r--legacy/evil/src/lib/gdtoa/gd_qnan.h12
-rw-r--r--legacy/evil/src/lib/gdtoa/gdtoa.c733
-rw-r--r--legacy/evil/src/lib/gdtoa/gdtoa.h121
-rw-r--r--legacy/evil/src/lib/gdtoa/gdtoa_fltrnds.h18
-rw-r--r--legacy/evil/src/lib/gdtoa/gdtoaimp.h645
-rw-r--r--legacy/evil/src/lib/gdtoa/gethex.c340
-rw-r--r--legacy/evil/src/lib/gdtoa/gmisc.c76
-rw-r--r--legacy/evil/src/lib/gdtoa/hd_init.c49
-rw-r--r--legacy/evil/src/lib/gdtoa/hexnan.c139
-rw-r--r--legacy/evil/src/lib/gdtoa/misc.c860
-rw-r--r--legacy/evil/src/lib/gdtoa/qnan.c116
-rw-r--r--legacy/evil/src/lib/gdtoa/smisc.c149
-rw-r--r--legacy/evil/src/lib/gdtoa/strtodg.c979
-rw-r--r--legacy/evil/src/lib/gdtoa/strtof.c77
-rw-r--r--legacy/evil/src/lib/gdtoa/strtopx.c119
-rw-r--r--legacy/evil/src/lib/gdtoa/sum.c91
-rw-r--r--legacy/evil/src/lib/gdtoa/ulp.c61
-rw-r--r--legacy/evil/src/lib/mingw32ce/errno.h111
-rw-r--r--legacy/evil/src/lib/pwd.h71
-rw-r--r--legacy/evil/src/lib/sys/mman.h149
107 files changed, 0 insertions, 21169 deletions
diff --git a/legacy/evil/ChangeLog b/legacy/evil/ChangeLog
deleted file mode 100644
index ca3722fe8d..0000000000
--- a/legacy/evil/ChangeLog
+++ /dev/null
@@ -1,237 +0,0 @@
12012-09-05 Vincent Torri <doursse at users dot sf dot net>
2
3 * src/lib/gdtoa/arithchk.c:
4 add missing fclose().
5
62012-08-30 Vincent Torri <doursse at users dot sf dot net>
7
8 Release Version 1.7.0.
9
102012-08-28 Vincent Torri <doursse at users dot sf dot net>
11
12 * src/lib/evil_util.c:
13 fix evil_format_message(): free the message to display
14 at the end of the function. Hence the message is displayed,
15 now.
16
172012-08-20 Vincent Torri <doursse at users dot sf dot net>
18
19 * configure.ac:
20 quoting.
21
22 * Makefile.am:
23 * src/lib/Makefile.am:
24 fix distcheck
25
262012-08-19 Vincent Torri <doursse at users dot sf dot net>
27
28 * configure.ac:
29 * src/bin/Makefile.am:
30 * src/lib/Makefile.am:
31 * src/lib/dlfcn/:
32 Less automake stuff.
33
34 * src/lib/gdtoa/gdtoaimp.h:
35 fix redundant declarations.
36
372012-07-21 Vincent Torri <doursse at users dot sf dot net>
38
39 * src/lib/Makefile.am:
40 * src/lib/dlfcn/Makefile.am:
41 work around a problem with libtool and the creation
42 of the DLL. libtool developpers should be impaled.
43
442012-07-20 Vincent Torri <doursse at users dot sf dot net>
45
46 * configure.ac:
47 * src/bin/Makefile.am:
48 * src/lib/Makefile.am:
49 Fix compilation with mingw-w64 gcc 4.8
50
512012-07-03 Vincent Torri <doursse at users dot sf dot net>
52
53 * AUTHORS:
54 * src/lib/evil_stdlib.c:
55 * src/lib/evil_stdlib.h:
56 Update realpath() code, based on Keith Marshall's implementation.
57
582012-04-26 Vincent Torri <doursse at users dot sf dot net>
59
60 * NEWS:
61 * src/lib/evil_langinfo.c:
62 Release Version 1.1.0.
63 Fix nl_langinfo(RADIXCHAR).
64
652012-04-20 Vincent Torri <doursse at users dot sf dot net>
66
67 * NEWS:
68 * src/lib/evil_string.c:
69 * src/lib/evil_string.h:
70 Add strcasestr() API.
71
722012-04-12 Vincent Torri <doursse at users dot sf dot net>
73
74 * NEWS:
75 * src/lib/evil_time.c:
76 * src/lib/evil_time.h:
77 Do not declare and define localtime_r() if it's already defined.
78
792012-03-30 Vincent Torri <doursse at users dot sf dot net>
80
81 * NEWS:
82 * configure.ac:
83 Prepare 1.1 release.
84
85 * src/lib/Evil.h:
86 Add S_ISLNK macro (always set to 0).
87
882012-02-23 Vincent Torri <doursse at users dot sf dot net>
89
90 * configure.ac:
91 * src/lib/Makefile.am:
92 * src/lib/evil_pformata.c:
93 * src/lib/evil_printa.c:
94 * src/lib/gdtoa (added):
95 * src/lib/gdtoa/gdtoa.c (added):
96 * src/lib/gdtoa/dmisc.c (added):
97 * src/lib/gdtoa/gdtoa_fltrnds.h (added):
98 * src/lib/gdtoa/ulp.c (added):
99 * src/lib/gdtoa/g_dfmt.c (added):
100 * src/lib/gdtoa/gmisc.c (added):
101 * src/lib/gdtoa/g_ffmt.c (added):
102 * src/lib/gdtoa/gdtoa.h (added):
103 * src/lib/gdtoa/sum.c (added):
104 * src/lib/gdtoa/gdtoaimp.h (added):
105 * src/lib/gdtoa/README (added):
106 * src/lib/gdtoa/gd_qnan.h (added):
107 * src/lib/gdtoa/hd_init.c (added):
108 * src/lib/gdtoa/smisc.c (added):
109 * src/lib/gdtoa/strtof.c (added):
110 * src/lib/gdtoa/hexnan.c (added):
111 * src/lib/gdtoa/strtopx.c (added):
112 * src/lib/gdtoa/gethex.c (added):
113 * src/lib/gdtoa/g_xfmt.c (added):
114 * src/lib/gdtoa/gd_arith.h (added):
115 * src/lib/gdtoa/strtodg.c (added):
116 * src/lib/gdtoa/dtoa.c (added):
117 * src/lib/gdtoa/Makefile.am (added):
118 * src/lib/gdtoa/misc.c (added):
119 * src/lib/gdtoa/g__fmt.c (added):
120 * src/lib/gdtoa/README.mingw (added):
121 * src/lib/gdtoa/qnan.c (added):
122 * src/lib/gdtoa/arithchk.c (added):
123 Define some missing functions, so that Evil also
124 compile with MinGW, vc++ and later with Cedric
125 compatibility layer
126
127 * src/lib/evil_util.c:
128 Include limits.h for ULONG_MAX definition
129
1302012-02-21 Vincent Torri <doursse at users dot sf dot net>
131
132 * src/bin/evil_test_gettimeofday.c:
133 Include sys/time.h
134
135 * src/lib/evil_inet.c:
136 EMSGSIZE and EAFNOSUPPORT could not be defined on
137 some MinGW compilers.
138
1392012-02-18 Vincent Torri <doursse at users dot sf dot net>
140
141 * src/lib/Evil.h:
142 * src/lib/Makefile.am:
143 * src/lib/evil_macro.h:
144 * src/lib/evil_print.h:
145 * src/lib/evil_macro_pop.h (added):
146 Undef __cdecl if it has been defined by Evil and
147 move some defined macro to evil_macro_pop.h
148
149 * src/lib/evil_unistd.c:
150 * src/lib/evil_unistd.h:
151 Define gettimeofday() only for vc++ as MinGW-w64
152 already defines it.
153
1542012-02-17 Vincent Torri <doursse at users dot sf dot net>
155
156 * AUTHORS:
157 * NEWS:
158 * src/lib/Evil.h:
159 * src/lib/Makefile.am:
160 * src/lib/evil_inet.c:
161 * src/lib/evil_mman.c:
162 * src/lib/evil_stdio.c:
163 * src/lib/evil_stdio.h:
164 * src/lib/evil_stdlib.c:
165 * src/lib/evil_util.c:
166 * src/lib/sys/mman.h:
167 * src/lib/evil_printa.c (added):
168 * src/lib/evil_pformatw.c (added):
169 * src/lib/evil_pformat.h (added):
170 * src/lib/evil_printw.c (added):
171 * src/lib/evil_print.h (added):
172 * src/lib/evil_macro.h (added):
173 * src/lib/evil_pformata.c (added):
174 Add POSIX printf family. Code taken from the MinGW-w64
175 project and modified to be integrated into Evil.
176
177 * src/bin/Makefile.am:
178 * src/bin/evil_suite.c:
179 * src/bin/evil_test_util.h (added):
180 * src/bin/evil_test_print.c (added):
181 * src/bin/evil_test_print.h (added):
182 * src/bin/evil_test_util.c (added):
183 Add util and printf unit tests
184
185 * src/lib/evil_errno.c:
186 * src/lib/errno.h (deleted):
187 * src/lib/mingw32ce (added):
188 * src/lib/mingw32ce/errno.h (added):
189 Move errno.h for Windows CE in its own directory to
190 suppress conflicts with standard errno.h when compiling
191 for Windows XP.
192
193 * src/lib/dlfcn/dlfcn.c:
194 * src/lib/evil_link_ce.c:
195 * src/lib/evil_main.c:
196 * src/lib/evil_unistd.c:
197 Define WIN32_LEAN_AND_MEAN only if it's not defined.
198
199 * src/lib/evil_fcntl.c:
200 Remove debug.
201
202 * src/bin/evil_test_dlfcn.c:
203 * src/bin/evil_test_environment.c:
204 * src/bin/evil_test_gettimeofday.c:
205 * src/bin/evil_test_link.c:
206 * src/bin/evil_test_mkstemp.c:
207 * src/bin/evil_test_pipe.c:
208 * src/bin/evil_test_realpath.c:
209 Remove warnings.
210
211 * src/lib/evil_link_xp.cpp:
212 Formatting.
213
2142012-01-20 Vincent Torri <doursse at users dot sf dot net>
215
216 * Makefile.am:
217 Fix EXTRA_DIST variable
218
219 * src/bin/Makefile.am:
220 * src/bin/evil_suite.c:
221 * src/lib/evil_libgen.c:
222 * src/lib/evil_util.c:
223 * src/lib/evil_util.h:
224 Add evil_path_is_absolute() API and use it.
225
226 * src/bin/evil_test_dlfcn.c:
227 * src/bin/evil_test_realpath.c:
228 clean up.
229
2302011-12-02 Vincent Torri <doursse at users dot sf dot net>
231
232 Release Version 1.0.0.
233 * NEWS: Mention the release.
234
2352012-08-30 Carsten Haitzler (The Rasterman)
236
237 1.7.0 release
diff --git a/legacy/evil/ChangeLog.0 b/legacy/evil/ChangeLog.0
deleted file mode 100644
index df9e1cfe05..0000000000
--- a/legacy/evil/ChangeLog.0
+++ /dev/null
@@ -1,1441 +0,0 @@
12011-11-12 Vincent Torri <doursse at users dot sf dot net>
2
3 * src/lib/Evil.h:
4 clean main page
5
62011-11-12 Vincent Torri <doursse at users dot sf dot net>
7
8 * src/lib/evil_stdio.c:
9 Fix returned value of evil_fread_native()
10
11 * doc/Doxyfile:
12 * doc/head.html:
13 * src/lib/Evil.h:
14 * src/lib/dirent.h:
15 * src/lib/dlfcn/dlfcn.h:
16 * src/lib/evil_fcntl.h:
17 * src/lib/evil_inet.h:
18 * src/lib/evil_libgen.h:
19 * src/lib/evil_stdio.h:
20 * src/lib/evil_string.h:
21 * src/lib/pwd.h:
22 Update documentation
23
242011-11-02 Vincent Torri <doursse at users dot sf dot net>
25
26 * src/lib/evil_util.c:
27 * src/lib/evil_util.h:
28 Add evil_utf16_to_utf8() function, display error messages
29 and fix a bit the documentation of the other conversion
30 functions.
31
322011-10-12 Vincent Torri <doursse at users dot sf dot net>
33
34 * src/lib/evil_util.c:
35 simplify evil_wchar_to_char()
36
372011-10-05 Vincent Torri <doursse at users dot sf dot net>
38
39 * src/lib/evil_inet.c:
40 * src/lib/evil_inet.h:
41 * AUTHORS:
42 add inet_ntop() function. Implementation from c-ares library.
43 See AUTHORS.
44
45 * configure.ac:
46 * src/lib/dlfcn/dlfcn.c:
47 * src/lib/dlfcn/Makefile.am:
48 add RTLD_DEFAULT support in dlsym() on Windows CE
49
502011-09-14 Vincent Torri <doursse at users dot sf dot net>
51
52 * src/lib/dlfcn/dlfcn.c:
53 add RTLD_DEFAULT support in dlsym()
54
552011-05-19 Vincent Torri <doursse at users dot sf dot net>
56
57 * src/lib/dlfcn/dlfcn.c:
58 change '/' to '\' in paths
59
60 * src/lib/evil_inet.c:
61 * src/lib/evil_inet.h:
62 * src/lib/Evil.h:
63 * src/lib/Makefile.am:
64 * AUTHORS:
65 add inet_pton() function. Implementation from c-ares library.
66 See AUTHORS.
67
682011-02-27 Vincent Torri <doursse at users dot sf dot net>
69
70 * configure.ac:
71 force libtool >= 2.4
72
732011-02-23 Vincent Torri <doursse at users dot sf dot net>
74
75 * src/lib/evil_stdio.c:
76 make vasprintf() compile on Windows CE
77
78 * src/lib/evil_time.c:
79 * src/lib/evil_time.h:
80 add stub tzset() for Windows CE
81
822011-02-04 Vincent Torri <doursse at users dot sf dot net>
83
84 * src/lib/evil_stdio.c:
85 * src/lib/evil_stdio.h:
86 Add asprintf() function.
87 Add documentation for vasprintf().
88 Use _vcprintf() instead of vsnprintf() to get the length
89 of the string, as recommended by MSDN.
90
912011-01-06 Vincent Torri <doursse at users dot sf dot net>
92
93 * src/lib/evil_stdio.c:
94 * src/lib/evil_stdio.h:
95 better perror() declaration / definition
96
972011-01-04 Vincent Torri <doursse at users dot sf dot net>
98
99 * src/lib/evil_unistd.c:
100 * src/lib/evil_unistd.h:
101 declare and define getpid() for Windows CE.
102
1032011-01-04 Vincent Torri <doursse at users dot sf dot net>
104
105 * src/lib/dlfcn/dlfcn.h:
106 define (temporary) PATH_MAX on Windows CE.
107 cegcc has a bug with limits.h.
108
109 * src/lib/evil_stdio.c:
110 * src/lib/evil_stdio.h:
111 undefine temporary the definition of perror() on Windows CE
112
1132010-12-18 Vincent Torri <doursse at users dot sf dot net>
114
115 * src/lib/libgen.c:
116 fix segmentation fault in basename() and dirname()
117
1182010-12-18 Vincent Torri <doursse at users dot sf dot net>
119
120 * src/lib/Evil.h:
121 use _tzset instead of tzset with vc++
122
1232010-12-12 Vincent Torri <doursse at users dot sf dot net>
124
125 * src/lib/evil_libgen.c:
126 * src/lib/evil_libgen.h:
127 add dirname() function
128
1292010-12-12 Vincent Torri <doursse at users dot sf dot net>
130
131 * src/lib/evil_unistd.c:
132 * src/lib/evil_unistd.h:
133 add usleep() for vc++
134
1352010-12-10 Vincent Torri <doursse at users dot sf dot net>
136
137 reviewed by: Vincent Torri
138 patch by: Vincent Richomme
139
140 * src/lib/evil_unistd.c:
141 remove warning
142
1432010-11-06 Vincent Torri <doursse at users dot sf dot net>
144
145 * src/lib/Evil.h:
146 * src/lib/evil_string.h:
147 Fix doxygen documentation
148
1492010-10-29 Vincent Torri <doursse at users dot sf dot net>
150
151 * src/lib/Evil.h:
152 define offsetof for Windows CE
153
1542010-10-22 Vincent Torri <doursse at users dot sf dot net>
155
156 * src/lib/Makefile.am:
157 * src/lib/dirent.h:
158 * src/lib/evil_dirent.c:
159 use our own dirent structure and implementation instead of
160 mingw one.
161
1622010-09-14 Vincent Torri <doursse at users dot sf dot net>
163
164 * src/lib/Makefile.am:
165 * src/lib/Evil.h:
166 * src/lib/evil_time.c:
167 * src/lib/evil_time.h:
168 add locatime_r() for calendar in Elementary.
169
1702010-05-29 Vincent Torri <doursse at users dot sf dot net>
171
172 * doc/Doxyfile:
173 define _MSC_VER so that code guarded by it can
174 be processed by doxygen
175
176 * src/lib/evil_stdio.c:
177 * src/lib/evil_stdio.h:
178 vasprintf() is also not in mingw crt
179
180 * src/lib/evil_unistd.c:
181 * src/lib/evil_unistd.h:
182 getpid is declared and defined in mingw crt
183
1842010-04-14 Vincent Torri <doursse at users dot sf dot net>
185
186 * src/lib/evil_stdio.c:
187 * src/lib/evil_stdio.h:
188 add vasprintf() function
189
1902010-04-03 Vincent Torri <doursse at users dot sf dot net>
191
192 * src/lib/Evil.h:
193 mkdir() does not accept 2 arguments.
194 Define hypot to remove huge amount of warnings in
195 Evas withvc++
196
1972010-04-01 Vincent Torri <doursse at users dot sf dot net>
198
199 * configure.ac:
200 move version management at the beginning
201
202 * src/bin/evil_suite.c:
203 * src/bin/evil_test_dlfcn.c:
204 * src/bin/evil_test_environment.c:
205 * src/bin/evil_test_gettimeofday.c:
206 * src/bin/evil_test_link.c:
207 * src/bin/evil_test_mkstemp.c:
208 * src/bin/evil_test_pipe.c:
209 * src/bin/evil_test_realpath.c:
210 * src/lib/Evil.h:
211 * src/lib/Makefile.am:
212 * src/lib/evil_errno.c:
213 * src/lib/evil_main.c:
214 * src/lib/evil_main.h:
215 * src/lib/evil_unistd.c:
216 * src/lib/evil_unistd.h:
217 * src/lib/evil_util.c:
218 fix warnings
219
2202010-03-26 Vincent Torri <doursse at users dot sf dot net>
221
222 * src/lib/evil_string.c:
223 * src/lib/evil_string.h:
224 add strcasecmp wrapper for vc++
225
2262010-03-12 Vincent Torri <doursse at users dot sf dot net>
227
228 * src/lib/Makefile.am:
229 * src/lib/evil_time.c (deleted):
230 * win32/vs8/libevil.vcproj:
231 * win32/vs9/libevil.vcproj:
232 remove evil_time.c as tzset is defined with mingw and vc++
233
234 * src/lib/Evil.h:
235 * src/lib/dlfcn/dlfcn.c:
236 * src/lib/dlfcn/dlfcn.h:
237 remove __CEGCC__ occurences
238
2392010-03-11 Vincent Torri <doursse at users dot sf dot net>
240
241 * win32/vs8/libdlfcn.vcproj:
242 * win32/vs9/libdlfcn.vcproj:
243 set supported Windows minimal version
244
2452010-03-11 Vincent Torri <doursse at users dot sf dot net>
246
247 * src/lib/Evil.h:
248 actually, ssize_t is defined with all mingw versions
249 but not with vc++. So move it in vc++ part of Evil.h
250
2512010-03-11 Vincent Torri <doursse at users dot sf dot net>
252
253 * configure.ac:
254 add comment
255
256 * win32/vs8/libevil.vcproj:
257 clean up Visual Studio output (less useless warnings)
258 add missing library
259
2602010-02-28 Vincent Torri <doursse at users dot sf dot net>
261
262 * remove cegcc compiler support, only mingw32ce
263 is supported
264
265 * remove shadow declarations
266
2672010-02-12 Vincent Torri <doursse at users dot sf dot net>
268
269 * src/lib/evil_unistd.c:
270 fix gettimeofday(). Thanks to Mathieu SCHROETER,
271 from the GeexBox project, for having spotted this.
272
2732010-01-30 Vincent Torri <doursse at users dot sf dot net>
274
275 * src/lib/evil_fcntl.c:
276 verify that the data passed to fcntl() is really a socket
277 and fix ioctlsocket() returned value check.
278
279 * src/bin/Makefile.am:
280 * src/bin/evil_suite.c:
281 add unit test for pipe().
282
2832010-01-30 Vincent Torri <doursse at users dot sf dot net>
284
285 * src/lib/Evil.h:
286 change again the redefinition of open(). Needed
287 for the gif loader. But the compilation with vc++
288 is certainly broken. Will be fixed later with a specific
289 case for vc++.
290
2912010-01-30 Vincent Torri <doursse at users dot sf dot net>
292
293 * src/lib/evil_fcntl.c:
294 * src/lib/evil_fcntl.h:
295 fix fcntl() with F_SETFL command
296
2972010-01-29 Vincent Torri <doursse at users dot sf dot net>
298
299 * src/lib/evil_fcntl.c:
300 * src/lib/evil_fcntl.h:
301 * src/lib/evil_unistd.c:
302 make pipe() blocking by default and allow fcntl()
303 to set a socket to be non-blocking
304
305 * src/lib/evil_stdlib.c:
306 fix warning
307
3082010-01-19 Vincent Torri <doursse at users dot sf dot net>
309
310 * src/lib/dlfcn/dlfcn.c:
311 Fix dladdr() on Windows CE: use the calling process
312 address to get the path.
313
3142009-12-19 Vincent Torri <doursse at users dot sf dot net>
315
316 * Makefile.am:
317 remove m4 libtool installed files during the
318 maintainer-clean rule
319
320 * src/lib/evil_stdio.c:
321 * src/lib/evil_stdio.h:
322 add the remove() function
323
3242009-12-11 Vincent Torri <doursse at users dot sf dot net>
325
326 * configure.ac:
327 improve configure output
328
3292009-12-07 Vincent Torri <doursse at users dot sf dot net>
330
331 * src/lib/evil_libgen.c:
332 * src/lib/evil_libgen.h:
333 * src/lib/Makefile.am:
334 * win32/vs8/libevil.vcproj:
335 * win32/vs9/libevil.vcproj:
336 add basename() function.
337
338 * src/lib/Evil.h:
339 add basename() function and comment useless wrappers (for now).
340
341 * src/lib/dlfcn/dlfcn.h:
342 remove useless include.
343
344 * src/lib/evil_util.c:
345 formatting.
346
3472009-12-06 Vincent Torri <doursse at users dot sf dot net>
348
349 * src/lib/evil_string.c:
350 add strrstr() function.
351
352 * src/bin/evil_suite.c:
353 * src/lib/evil_fnmatch.c:
354 * src/lib/evil_fnmatch_list_of_states.c:
355 include config.h
356
3572009-10-08 Vincent Torri <doursse at users dot sf dot net>
358
359 * src/lib/evil_main.c:
360 Shutdown socket system in evil_shutdown().
361 Update init/shutdown scheme.
362
3632009-09-08 Vincent Torri <doursse at users dot sf dot net>
364
365 * INSTALL:
366 update INSTALL file
367
3682009-08-27 Vincent Torri <doursse at users dot sf dot net>
369
370 * src/lib/dlfcn/dlfcn.c:
371 fix warnings
372
373 * src/lib/evil_fnmatch_list_of_states.c:
374 fix vc++ warning
375
376 * win32/MANIFEST.txt:
377 * win32/README.txt:
378 * win32/start.bat:
379 * win32/vs9/evil.sln:
380 * win32/vs9/libdlfcn.vcproj:
381 * win32/vs9/libevil.vcproj:
382 * win32/vs9/test/out/update_deps.bat:
383 * win32/vs9/test/start.bat:
384 * win32/vs9/test/test.sln:
385 * win32/vs9/test/test.vcproj:
386 * win32/vs9/test/test_fnmatch.cpp:
387 * win32/vs9 (added):
388 * win32/vs9/test (added):
389 * win32/vs9/test/test_fnmatch.cpp (added):
390 * win32/vs9/test/test.vcproj (added):
391 * win32/vs9/test/start.bat (added):
392 * win32/vs9/test/out (added):
393 * win32/vs9/test/out/update_deps.bat (added):
394 * win32/vs9/test/test.sln (added):
395 * win32/vs9/libdlfcn.vcproj (added):
396 * win32/vs9/libevil.vcproj (added):
397 * win32/vs9/evil.sln (added):
398 * win32/start.bat (added):
399 * win32/vs8/libmman.vcproj (deleted):
400 * win32/vs8/start.bat (deleted):
401 * win32/set_env.bat (deleted):
402 update the Visual Studio environment. Now, there is only one
403 script to launch (start.bat) in win32/. It detects automatically
404 the latest Visual Studio environment which is installed and launch
405 the solution. Currently supported VS are 2005 and 2008.
406
4072009-06-13 Lars Munch <lars at segv dot dk>
408
409 * src/lib/evil_main.c:
410 initiate use of the Winsock DLL in evil_init()
411
4122009-06-10 Vincent Torri <doursse at users dot sf dot net>
413
414 * src/lib/evil_langinfo.c:
415 * src/lib/evil_langinfo.h:
416 add minimal RADIXCHAR support. Must be fixed in
417 a better way.
418
4192009-05-20 Vincent Torri <doursse at users dot sf dot net>
420
421 reviewed by: Vincent Torri
422 patch by: Lance Fetters
423
424 * src/lib/evil_unistd.c:
425 make evil_pipe() non blocking
426
4272009-04-18 Vincent Torri <doursse at users dot sf dot net>
428
429 * configure.ac:
430 * src/lib/Makefile.am:
431 put c++ flags in a variable and use gcc when
432 linking the Windows CE code.
433
4342009-04-11 Vincent Torri <doursse at users dot sf dot net>
435
436 * src/lib/evil_fcntl.c:
437 * src/lib/evil_fcntl.h:
438 support of F_GETFD in fcntl() (does nothing, actually
439 needed for last ecore change)
440
4412009-04-08 Vincent Torri <doursse at users dot sf dot net>
442
443 * src/lib/evil_stdlib.c:
444 manage correctly getenv() when value is NULL.
445
4462009-02-22 Vincent Torri <doursse at users dot sf dot net>
447
448 * src/lib/evil_main.c:
449 * src/lib/evil_unistd.c:
450 * src/lib/evil_unistd.h:
451 Use high resolution timer for gettimeofday() and
452 export a convenient function for ecore_time_get(),
453 to save some computations.
454
455 * src/lib/evil_pwd.c:
456 Use the correct name for GetUserNameEx() according
457 to the platform.
458
4592009-02-16 Vincent Torri <doursse at users dot sf dot net>
460
461 * src/lib/evil_stdio.c:
462 replace / by \ in the path passed to fopen
463
4642009-02-01 Vincent Torri <doursse at users dot sf dot net>
465
466 * doc/Makefile.am:
467 * m4/efl_doxygen.m4:
468 Missing modification of the variable DOXYGEN to
469 efl_doxygen. Spotted by Albin Tonnerre (Lutin).
470
4712009-02-01 Vincent Torri <doursse at users dot sf dot net>
472
473 * m4/efl_doxygen.m4:
474 fix logic in efl_doxygen.m4
475
4762009-01-24 Vincent Torri <doursse at users dot sf dot net>
477
478 * src/lib/evil_fcntl.c:
479 fix fcntl()
480
4812009-01-19 Vincent Torri <doursse at users dot sf dot net>
482
483 * src/bin/Makefile.am:
484 * src/bin/evil_suite.c:
485 * src/bin/evil_test_dlfcn.c:
486 * src/bin/evil_test_dlfcn.h:
487 * src/bin/evil_test_environment.c:
488 * src/bin/evil_test_environment.h:
489 * src/bin/evil_test_gettimeofday.c:
490 * src/bin/evil_test_gettimeofday.h:
491 * src/bin/evil_test_link.c:
492 * src/bin/evil_test_link.h:
493 * src/bin/evil_test_mkstemp.c:
494 * src/bin/evil_test_mkstemp.h:
495 * src/bin/evil_test_realpath.c:
496 * src/bin/evil_test_realpath.h:
497 various fixes in the test suite.
498 add mkstemp() and realpath tests.
499
500 * src/lib/evil_dirent.c:
501 fix opendir() when indexation search is not active.
502 formatting.
503
504 * src/lib/evil_stdlib.c:
505 fir mkstemp() on both platform
506
507 * src/lib/evil_unistd.c:
508 remove useless error message.
509
5102009-01-12 Vincent Torri <doursse at users dot sf dot net>
511
512 * src/lib/evil_dirent.c:
513 * src/lib/evil_fnmatch.c:
514 * src/lib/evil_link_xp.cpp:
515 * src/lib/evil_stdio.c:
516 * src/lib/evil_stdlib.c:
517 * src/lib/evil_string.c:
518 * src/lib/evil_unistd.c:
519 * src/lib/evil_util.c:
520 warnings fixes
521
5222008-12-27 Vincent Torri <doursse at users dot sf dot net>
523
524 * configure.ac:
525 add SECURITY_WIN32 to the proprocessor on Windows XP,
526 should fix the bug with security.h
527
5282008-12-27 Vincent Torri <doursse at users dot sf dot net>
529
530 * src/bin/evil_test_environment.c:
531 check returned value
532
533 * src/bin/evil_test_memcpy.c:
534 define getpagesize() for vc++
535
536 * src/lib/evil_unistd.c:
537 move inclusion of time.h after windsock2.h
538 include direct.h for vc++
539 use _WIN32_WCE for Windows CE compilers in evil_getcwd()
540
541 * src/lib/Evil.h:
542 * src/lib/evil_unistd.h:
543 move getcwd() define from Evil.h to evil_unistd.h
544 add some C99 types to Evil.h for vc++ (will be used in eina)
545
546 * src/lib/evil_fcntl.c:
547 include io.h for vc++
548
549 * src/lib/evil_link_xp.cpp:
550 use full name for symlink(). Fix symlink on Windows XP with
551 the DOS prompt or the debugger of Visual Studio.
552
553 * src/lib/evil_mman.c:
554 don't include unistd.h if vc++ is used
555
556 * src/lib/evil_stdio.h:
557 formatting
558
559 * src/lib/evil_stdlib.h:
560 * src/lib/evil_stdlib.c:
561 define putenv only for mingw32ce
562 move the returned value of setenv()
563
5642008-12-13 Vincent Torri <doursse at users dot sf dot net>
565
566 * src/bin/Makefile.am:
567 * src/bin/evil_test_gettimeofday.c:
568 fix unit test; now all tests pass, finally
569
570 * src/lib/evil_unistd.c:
571 fix gettimeofday() on mingw32ce
572
5732008-12-13 Vincent Torri <doursse at users dot sf dot net>
574
575 * src/bin/Makefile.am:
576 and don't compile test_dlfcn...
577
5782008-12-13 Vincent Torri <doursse at users dot sf dot net>
579
580 * src/bin/evil_suite.c:
581 do not access to undefined pointer
582
5832008-12-13 Vincent Torri <doursse at users dot sf dot net>
584
585 * src/bin/test_dlfcn.c:
586 remove dlfcn test, is in the unit test now
587
5882008-12-13 Vincent Torri <doursse at users dot sf dot net>
589
590 * src/bin/Makefile.am:
591 * src/bin/evil_test_dlfcn.c:
592 * src/bin/evil_test_dlfcn.h:
593 add dflcn unit test
594
595 * src/bin/evil_suite.c:
596 show result of the unit tests and add dlfcn unit test
597
598 * src/bin/evil_test_environment.c:
599 remove debug
600
601 * src/bin/evil_test_gettimeofday.c:
602 debug, not working yet :/
603
604 * src/bin/evil_test_link.c:
605 * src/lib/evil_link_ce.c:
606 fix link support on Windows CE
607
6082008-12-10 Vincent Torri <doursse at users dot sf dot net>
609
610 * src/lib/Evil.h:
611 be sure to include stdio.h before redefining the
612 functions that are declared int it.
613
6142008-12-09 Vincent Torri <doursse at users dot sf dot net>
615
616 * src/bin/evil_test_gettimeofday.c:
617 add output
618
619 * src/bin/evil_test_link.c:
620 add a unit test for readlink()
621
622 * src/lib/evil_link_xp.cpp:
623 fix readlink() and symlink() on Windows XP
624
6252008-12-05 Vincent Torri <doursse at users dot sf dot net>
626
627 * src/lib/evil_main.c:
628 always export evil_init() and evil_shutdown()
629
6302008-12-03 Vincent Torri <doursse at users dot sf dot net>
631
632 * src/bin/evil_test_gettimeofday.c:
633 replace evil_gettimeofday by gettimeofday
634
635 * src/lib/evil_string.c:
636 * src/lib/evil_string.h:
637 add strcoll() "port" to Windows CE OS. Note it's
638 just strcmp, no locale stuff is used onn that OS.
639
6402008-11-29 Vincent Torri <doursse at users dot sf dot net>
641
642 * src/lib/evil_main.c:
643 define correctly EAPI
644
6452008-11-21 Vincent Torri <doursse at users dot sf dot net>
646
647 * src/bin/Makefile.am:
648 * src/bin/evil_suite.c:
649 * src/bin/evil_test_gettimeofday.c:
650 * src/bin/evil_test_gettimeofday.h:
651 add a small test for gettimeofday
652
653 * src/bin/evil_test_memcpy.c:
654 fix warning
655
656 * src/lib/Evil.h:
657 * src/lib/Makefile.am:
658 * src/lib/evil_main.c:
659 * src/lib/evil_main.h:
660 * src/lib/evil_unistd.c:
661 * src/lib/evil_unistd.h:
662 * src/lib/evil_private.h:
663 add gettimeofday for Windows CE natively. It is necessary
664 to initialise evil with evil_init() now, to have that
665 feature.
666
667 * src/lib/evil_stdio.c:
668 * src/lib/evil_string.c:
669 fix warnings
670
6712008-11-12 Vincent Torri <doursse at users dot sf dot net>
672
673 * src/lib/evil_unistd.h:
674 export execvp()
675
6762008-11-09 Vincent Torri <doursse at users dot sf dot net>
677
678 * evil.pc.in:
679 remove -ldl
680
681 * src/lib/evil_dirent.c:
682 change guards
683
684 * src/lib/evil_stdio.c:
685 * src/lib/evil_stdio.h:
686 add some checks,
687 add a function that more or less mimic fopen, but with
688 native win32 api calls. This is only for the evas loader
689 and saver of png files and works only for Windows CE.
690
691 * src/lib/evil_unistd.c:
692 move a free() and remove debug calls.
693
6942008-11-05 Vincent Torri <doursse at users dot sf dot net>
695
696 * src/lib/evil_stdio.c:
697 * src/lib/evil_stdio.h:
698 overload rewind for Windows CE
699
700 * src/lib/evil_unistd.c:
701 remove debug
702
7032008-11-04 Vincent Torri <doursse at users dot sf dot net>
704
705 * src/lib/Evil.h:
706 * src/lib/evil_stdio.h:
707 * src/lib/evil_unistd.c:
708 * src/lib/evil_unistd.h:
709 overload the stat() function for native Windows CE platform.
710 move pipe() and fopen() definitions to their own header files
711
7122008-11-01 Vincent Torri <doursse at users dot sf dot net>
713
714 * configure.ac:
715 add a flag to know if cegcc is used or not
716
717 * src/lib/Makefile.am:
718 * src/lib/dirent.h:
719 * src/lib/evil_dirent.c:
720 add opendir(), closedir() and readdir() implementations
721 for Windows XP and CE. Now, the evas engines are correctly
722 found.
723
724 * src/lib/fnmatch.h:
725 formatting
726
7272008-11-01 Vincent Torri <doursse at users dot sf dot net>
728
729 * configure.ac:
730 formatting
731
732 * src/lib/dlfcn/dlfcn.c:
733 * src/lib/dlfcn/dlfcn.h:
734 fix dladdr declaration
735
7362008-10-29 Vincent Torri <doursse at users dot sf dot net>
737
738 * configure.ac:
739 use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE, because it
740 leads to more trouble than it improves configure speed...
741
742 * src/lib/Evil.h:
743 use __VA_ARGS__ instead of ##args to make gcc happy.
744
7452008-10-29 Vincent Torri <doursse at users dot sf dot net>
746
747 * configure.ac:
748 define _WIN32_WCE with the cegcc compiler too
749 useless EVIL_HAVE_WINCE define
750
751 * src/bin/evil_test_memcpy.c:
752 use _WIN32_WCE insead of EVIL_HAVE_WINCE
753
754 * src/lib/Evil.h:
755 try another definition of open(). Need feedback.
756
757 * src/lib/evil_private.h:
758 * src/lib/evil_util.c:
759 add private error message when GetLastMessage must be called
760
761 * src/lib/Makefile.am:
762 * src/lib/evil_link_ce.c:
763 * src/lib/evil_link_xp.cpp:
764 * src/lib/evil_unistd.c:
765 * src/lib/evil_unistd.cpp:
766 move specific link code (readlink and symlink) outside
767 evil_unistd to evil_link_ce.c for Windows CE and
768 evil_link_xp.cpp for Windows XP. This allow the Windows CE
769 code not depend on c++ code anymore and above all, not
770 statically link libstdc++ on that platform.
771 I need feedback on Windows XP, btw :)
772
7732008-10-28 Vincent Torri <doursse at users dot sf dot net>
774
775 * configure.ac:
776 add c++ compiler checks
777 remove linking against libuid.a as it's not an import lib.
778
779 * src/bin/Makefile.am:
780 * src/bin/evil_suite.c:
781 * src/bin/evil_test_link.c:
782 * src/bin/evil_test_link.h:
783 add unit test for links. Must be improved.
784
785 * src/lib/Makefile.am:
786 add unistd.cpp and uuid.c
787 use -fno-exceptions when compiling c++ code
788
789 * src/lib/evil_unistd.c:
790 * src/lib/evil_unistd.cpp:
791 use C++ api to manage links on Windows XP. Can be considered
792 as heavy but it's cleaner as the internals can change later.
793 I might consider to compile Windows CE code with only C compiler
794 as with mingw32ce, libstdc++ is statically linked to the
795 DLL / app (legacy of mingw stuff), to reduce a bit the DLL size.
796
797 * src/lib/evil_private.h:
798 declare _evil_error_display() as C function (otherwise linker
799 not happy)
800
801 * src/lib/evil_stdlib.c:
802 use RegCreateKeyEx() instead of RegOpenKeyEx in getenv().
803 fix an _evil_error_display() call.
804
805 * src/lib/evil_util.c:
806 add more error messages
807
808 * src/lib/evil_uuid.c:
809 define IID_IPersistFile (for links on Windows XP)
810
811 * src/lib/evil_unistd.h:
812 fix doc
813
8142008-10-25 Vincent Torri <doursse at users dot sf dot net>
815
816 * src/lib/evil_unistd.c:
817 * src/lib/evil_unistd.h:
818 add execvp stub function for ecore_app. Does nothing,
819 only here to make compilation working with mingw32ce.
820
8212008-10-24 Vincent Torri <doursse at users dot sf dot net>
822
823 * src/lib/Makefile.am:
824 * src/lib/evil_util.c:
825 * src/lib/evil_private.h:
826 move _evil_stdlib_error_display() from evil_stdlib.c
827 to evil_util.c and rename it to _evil_error_display()
828
829 * src/lib/evil_stdlib.c:
830 * src/lib/evil_unistd.c:
831 use _evil_error_display()
832
833 * src/lib/Evil.h:
834 overload fopen for mingw32ce
835
836 * src/lib/evil_stdio.c:
837 * src/lib/evil_stdio.h:
838 add evil_open to overload fopen (for mingw32ce
839
8402008-10-22 Vincent Torri <doursse at users dot sf dot net>
841
842 * configure.ac:
843 * src/lib/Makefile.am:
844 store cpp flags in a variable instead of using an
845 automake conditional
846
847 * src/bin/Makefile.am:
848 * src/bin/evil_suite.c:
849 * src/bin/evil_test_memcpy.c:
850 add test for getenv / setenv. More tests on it will
851 come later
852
853 * src/lib/evil_stdlib.c:
854 fix getenv code and minor cleanup
855
8562008-10-21 Vincent Torri <doursse at users dot sf dot net>
857
858 * m4/ac_attribute.m4:
859 use newer file from PROTO/autotools
860
861 * src/lib/dlfcn/dlfcn.c:
862 * src/lib/evil_mman.c:
863 no need to define __UNUSED__ anymore with the new m4 macro
864
865 * src/lib/Makefile.am:
866 * src/lib/evil.c:
867 remove useless file
868
8692008-10-21 Vincent Torri <doursse at users dot sf dot net>
870
871 * src/lib/Evil.h:
872 use getcwd() from evil_unistd.c
873
8742008-10-21 Vincent Torri <doursse at users dot sf dot net>
875
876 * src/lib/Makefile.am:
877 * src/lib/evil_time.c:
878 add tzset implementation ofr mingw32ce (does nothing...),
879 needed for embryo
880
881 * src/lib/evil_stdio.h:
882 formatting
883
8842008-10-20 Vincent Torri <doursse at users dot sf dot net>
885
886 * src/bin/evil_suite.c:
887 * src/bin/evil_suite.h:
888 * src/bin/evil_test_memcpy.c:
889 * src/bin/evil_test_memcpy.h:
890 clean suite and memcpy test code
891
8922008-10-19 Vincent Torri <doursse at users dot sf dot net>
893
894 * src/lib/errno.h:
895 * src/lib/evil_errno.c:
896 export errno symbol.
897
898 * src/lib/evil_string.c:
899 * src/lib/evil_string.h:
900 add a (slow) implementation of ffs(). Needed for eina
901
9022008-10-16 Vincent Torri <doursse at users dot sf dot net>
903
904 * configure.ac:
905 * src/lib/Makefile.am:
906 fix compilation on MinGW. Windows 2000 is
907 the minimum version supported by Evil (hence
908 other EFL). Goodbye Windows 98.
909
910 * src/bin/evil_test_memcpy.c:
911 re-enable small memcpy tests. It seems that memcpy
912 provided by glibc and the oem driver on Ipaq
913 3970 I have, have the same speed.
914
9152008-10-16 Vincent Torri <doursse at users dot sf dot net>
916
917 * Makefile.am:
918 add the doc subdir
919
920 * src/lib/Makefile.am:
921 add evil_fnmatch_private.h in tarballs
922
9232008-10-14 Vincent Torri <doursse at users dot sf dot net>
924
925 * src/lib/evil_fcntl.h:
926 don't use it with the cegcc compiler
927
928 * src/lib/evil_fnmatch.c:
929 fix warning
930
931 * src/lib/evil_stdlib.c:
932 fix putenv and mkstemp with cegcc and mingw32ce
933
9342008-10-11 Vincent Torri <doursse at users dot sf dot net>
935
936 * configure.ac:
937 * src/lib/Makefile.am:
938 re-add guards suppressed in previous commit
939
940 * src/lib/Evil.h:
941 include new header files
942
943 * src/lib/errno.h:
944 * src/lib/evil_errno.c:
945 add fake errno system with mingw32ce
946
947 * src/lib/evil_fcntl.c:
948 * src/lib/evil_fcntl.h:
949 fix compilation on cegcc and mingw32 (mainly does
950 nothing on Windows CE)
951
952 * src/lib/evil_stdio.c:
953 * src/lib/evil_stdio.h:
954 add rewind and perror for mingw32ce
955
956 * src/lib/evil_string.c:
957 * src/lib/evil_string.h:
958 add strerror for mingw32ce
959
9602008-10-11 Vincent Torri <doursse at users dot sf dot net>
961
962 * configure.ac:
963 * src/lib/Makefile.am:
964 * src/lib/evil_fnmatch.c:
965 * src/lib/evil_fnmatch_list_of_states.c:
966 add guards instead of not including fnmatch source
967 file in Makefile.am (for mingw32ce only)
968
969 * src/bin/Makefile.am:
970 * src/bin/evil_suite.c:
971 * src/bin/evil_test_memcpy.c:
972 * src/bin/suite.c:
973 * src/bin/suite.h:
974 * src/bin/test_memcpy.c:
975 * src/bin/test_memcpy.h:
976 rename files
977
9782008-10-09 Vincent Torri <doursse at users dot sf dot net>
979
980 * AUTHORS:
981 mention Tor's contribution
982
983 * configure.ac:
984 mention m4 directory, check errno header file,
985 add conditionnal when mingw32ce is used, minor
986 formatting
987
988 * m4/efl_doxygen.m4:
989 fix comments
990
991 * src/lib/Makefile.am:
992 include fnmatch files only when mingw32ce is used
993
994 * src/lib/evil_fcntl.c:
995 define correctly _get_osfhandle on mingw32ce
996
997 * src/lib/evil_pwd.c:
998 fix getpwuid() when cegcc or mingw32ce are used
999
1000 * src/lib/evil_stdlib.c:
1001 fix mkstemp() on all Windows platform, guard errno stuff
1002
1003 * src/lib/evil_stdlib.h:
1004 template -> __template because 'template' is a c++ keyword.
1005
1006 * src/lib/evil_unistd.c:
1007 guard errno stuff
1008
1009 * src/lib/evil_fnmatch.c:
1010 * src/lib/evil_fnmatch_list_of_states.c:
1011 * src/lib/evil_fnmatch_private.h:
1012 * src/lib/fnmatch.h:
1013 added files
1014
1015 * win32/common/fnmatch.c:
1016 * win32/common/fnmatch.h:
1017 * win32/common/fnmatch_list_of_states.c:
1018 * win32/common/fnmatch_private.h:
1019 removed files
1020
10212008-10-05 Vincent Torri <doursse at users dot sf dot net>
1022
1023 * m4:
1024 add m4 macro for doxygen, mpatrol and __attribute__
1025
1026 * doc:
1027 move Doxyfile from toplevel dir to doc/
1028
1029 * src/bin/Makefile.am
1030 * src/lib/Makefile.am
1031 * src/lib/dlfcn/Makefile.am
1032 remove _DEPENDENCIES, add flags for mpatrol and put
1033 defines for EAPI
1034
1035 * src/bin:
1036 add memcpy for i686. Need an asm expert to modify it
1037
1038 * src/bin/memcpy_glibc_arm.S:
1039 formatting
1040
1041 * src/bin/suite.c:
1042 fix seg fault by increasing the size of the buffers
1043
1044 * src/bin/test_memcpy.c:
1045 add a test with a bigger size for the memory to copy
1046
1047 * configure.ac:
1048 reorganise a lot, use m4 macro, add mpatrol support
1049
1050 * Makefile.am:
1051 add doc rule
1052
10532008-10-03 Vincent Torri <doursse at users dot sf dot net>
1054
1055 * src/bin/Makefile.am:
1056 rename memcpy_glibc.S to memcpy_glibc_arm.S
1057
10582008-09-28 Vincent Torri <doursse at users dot sf dot net>
1059
1060 * configure.ac:
1061 * src/bin/Makefile.am:
1062 * src/bin/test_memcpy.c:
1063 compile memcpy_glibc.S only if cegcc or mingw32ce is used
1064
1065 * src/bin/test_pipe.c:
1066 use evil_sockets_init and evil_sockets_shutdown.
1067
1068 * src/lib/evil_unistd.c:
1069 formatting
1070
10712008-09-15 Vincent Torri <doursse at users dot sf dot net>
1072
1073 * Makefile.am:
1074 add autogen.sh in archive distribution
1075
1076 * configure.ac:
1077 remove useless defines
1078 first support of mingw32msvc compiler
1079
1080 * src/lib/Evil.h:
1081 move some macro definitions
1082
1083 * src/lib/Makefile.am:
1084 add evil_(fcntl/langinfo).(c/h) and install pwd.h
1085
1086 * src/lib/dlfcn/dlfcn.h:
1087 remove useless ifdef
1088
1089 * src/lib/evil.c:
1090 comment all code for now. It will be deleted later
1091
1092 * src/lib/evil_fcntl.c:
1093 * src/lib/evil_fcntl.h:
1094 * src/lib/evil_langinfo.c:
1095 * src/lib/evil_langinfo.h:
1096 move fcntl and langinfo related code to their own files
1097
1098 * src/lib/evil_mman.c:
1099 remove useless inclusion
1100
1101 * src/lib/evil_pwd.c:
1102 pw var is not needed with cegcc
1103
1104 * src/lib/evil_stdlib.c:
1105 fix bugs, formatting
1106
1107 * src/lib/evil_unistd.c:
1108 add missing declarations and fix header files
1109
1110 * src/lib/evil_unistd.h:
1111 move pid_t typedef to Evil.h
1112
1113 * src/lib/evil_util.c:
1114 additional include and fix a bug in output
1115
1116 * src/lib/pwd.h:
1117 use EAPI from Evil.h, define struct passwd when not using cegcc
1118
1119 * src/lib/sys/mman.h:
1120 use EAPI from Evil.h
1121
1122 * win32/common/fnmatch.c:
1123 * win32/common/fnmatch.h:
1124 * win32/common/fnmatch_list_of_states.c:
1125 * win32/vs8/evil.sln:
1126 fix and cleanup with vc++ compilation
1127 Based on patch by Dmitriy Mazovka
1128
11292008-09-14 Vincent Torri <doursse at users dot sf dot net>
1130
1131 Fix compilation with vc++. Based on patch by Dmitriy Mazovka
1132
1133 * src/lib/Evil.h:
1134 move typedef's
1135
1136 * src/lib/evil.c:
1137 remove declaration and include
1138
1139 * src/lib/evil_stdlib.c:
1140 simplify mkstmp implementation
1141 fix getenv
1142
1143 * src/lib/evil_unistd.c:
1144 include correct headers for readlink and symlink
1145
11462008-09-13 Vincent Torri <doursse at users dot sf dot net>
1147
1148 * big rework of evil
1149 * addition of a unit test for memcpy
1150
11512008-07-13 Vincent Torri <doursse at users dot sf dot net>
1152
1153 * src/lib/Evil.h:
1154 declare pid_t, ssize_t and mode_t for vc++ before flock
1155 structure (vc++)
1156 * src/lib/dlfcn/dlfcn.h:
1157 include limits.h for vc++
1158
1159 * src/lib/evil.c: (symlink), (readlink):
1160 use UNICODE instead of checking the OS. Use PATH_MAX instead
1161 of MB_CUR_MAX when needed
1162
11632008-07-03 Vincent Torri <doursse at users dot sf dot net>
1164
1165 * src/lib/Evil.h:
1166 uid_t and gid_t exist on cegcc
1167
11682008-06-29 Vincent Torri <doursse at users dot sf dot net>
1169
1170 * configure.ac:
1171 * src/lib/Evil.h:
1172 * src/lib/Makefile.am:
1173 * src/lib/evil.c:
1174 * src/lib/pwd/Makefile.am:
1175 * src/lib/pwd/pwd.h:
1176 add langinfo and getpwuid support
1177
1178 * src/lib/mman/sys/mman.h:
1179 * src/lib/dlfcn/dlfcn.h:
1180 fix comment
1181
11822008-06-11 Vincent Torri <doursse at users dot sf dot net>
1183
1184 * src/lib/Evil.h:
1185 add defines for vc++. Thanks to Dmitriy Mazovka
1186
11872008-06-10 Vincent Torri <doursse at users dot sf dot net>
1188
1189 * configure.ac:
1190 * src/lib/dlfcn/dlfcn.h:
1191 * src/lib/mman/sys/mman.h:
1192 define EFL_EVIL_MMAN_BUILD and EFL_EVIL_DLFCN_BUILD so
1193 that functions in Evil.h are not declared as import
1194
1195 * src/lib/evil.c: (setenv), (unsetenv), (realpath),
1196 (evil_sockets_init), (evil_sockets_shutdown), (evil_pipe),
1197 (evil_tmpdir_get), (evil_homedir_get):
1198 rename pipe() to evil_pipe().
1199 set tmpdir to "Temp" and homedir to "My Documents" on WinCE
1200
1201 * src/lib/Evil.h:
1202 define pipe() as evil_pipe(). This allow to use our pipe()
1203 implementation to be usedwith cegcc, as it is broken on that
1204 platform.
1205 move the defines at the end of the file
1206
12072008-06-09 Vincent Torri <doursse at users dot sf dot net>
1208
1209 * src/lib/Evil.h:
1210 add strdup define
1211
1212 * src/lib/evil.c: (evil_tmpdir_get), (evil_homedir_get):
1213 include stdlib.h to define MB_CUR_MAX
1214 On Windows CE, tmpdir and homedir are defined as "\windows"
1215
1216 * src/lib/mman/mman.c: (mmap), (munmap):
1217 compile the big fat hack of mmap only on Windows CE
1218
12192008-06-08 Vincent Torri <doursse at users dot sf dot net>
1220
1221 * src/lib/Evil.h:
1222 * src/lib/evil.c: (evil_last_error_get):
1223 add evil_last_error_get() function to get
1224 useful error string creation.
1225
1226 * src/lib/dlfcn/dlfcn.c: (get_last_error), (dlopen), (dlsym),
1227 (dladdr):
1228 use UNICODE check instead of compiler checks when needed.
1229 use evil_last_error_get()
1230
1231 * src/lib/mman/mman.c: (mmap), (munmap):
1232 file mapping does not work on Windows CE < 5.0.
1233 if it is the case, just read the file and return
1234 the data.
1235 use evil_last_error_get()
1236
1237 * src/lib/mman/Makefile.am:
1238 * src/lib/Makefile.am:
1239 add libevil dependancy
1240
12412008-06-07 Vincent Torri <doursse at users dot sf dot net>
1242
1243 * src/lib/Evil.h:
1244 include windows.h instead of windef.h
1245 undefine PATH_MATH before defining it
1246
1247 * src/lib/dlfcn/dlfcn.c:
1248 remove useless header file
1249
12502008-06-06 Vincent Torri <doursse at users dot sf dot net>
1251
1252 * src/lib/Evil.h:
1253 add PATH_MAX macro
1254
1255 * src/lib/dlfcn/dlfcn.c: (get_last_error):
1256 free correctly strings
1257
12582008-06-02 Vincent Torri <doursse at users dot sf dot net>
1259
1260 * src/lib/Evil.h:
1261 * src/lib/evil.c: (setenv), (unsetenv):
1262 setenv and unsetenv are already defined with cegcc
1263
12642008-06-01 Vincent Torri <doursse at users dot sf dot net>
1265
1266 * src/lib/Evil.h:
1267 * src/lib/evil.c:
1268 add open with several arguments
1269 add getcwd, lstat, setenv, unsetenv and evil_homedir_get.
1270 typo in doc
1271
12722008-06-01 Vincent Torri <doursse at users dot sf dot net>
1273
1274 * src/lib/dlfcn/dlfcn.c:
1275 memory leak with cegcc
1276
1277 * src/lib/dlfcn/dlfcn.h:
1278 include limits.h for MinGW users
1279
1280 * src/lib/mman/sys/mman.h:
1281 add MAP_FAILED error value
1282
12832008-05-20 Vincent Torri <doursse at users dot sf dot net>
1284
1285 * src/lib/dlfcn/dlfcn.h:
1286 dli_fname ncorrectly declared. Thanks to Dmitriy Mazovka.
1287
12882008-05-11 Vincent Torri <doursse at users dot sf dot net>
1289
1290 * src/lib/Evil.h:
1291 * src/lib/evil.c (getpid):
1292 add wrapper around GetCurrentProcessId()
1293
12942008-05-10 Vincent Torri <doursse at users dot sf dot net>
1295
1296 * src/lib/dlfcn/dlfcn.c: (dladdr):
1297 replace all the '\' by '/' in the filename found by dladdr
1298
12992008-04-28 Vincent Torri <doursse at users dot sf dot net>
1300
1301 * src/lib/Evil.h:
1302 * src/lib/evil.c: (evil_getcwd):
1303 add getcwd-like function
1304
1305 * src/lib/dlfcn/dlfcn.c: (dladdr):
1306 * src/lib/dlfcn/dlfcn.h:
1307 add dladdr-like function. Formatting
1308 Remove unused define
1309
1310 * src/lib/mman/sys/mman.h:
1311 remove unused define
1312
13132008-04-26 Vincent Torri <doursse at users dot sf dot net>
1314
1315 * src/lib/Evil.h:
1316 * src/lib/Makefile.am:
1317 * src/lib/dlfcn/Makefile.am:
1318 * src/lib/dlfcn/dlfcn.c: (get_last_error), (dlopen), (dlsym):
1319 * src/lib/evil.c: (evil_char_to_wchar), (evil_wchar_to_char):
1320 make char <--> wchar_t conversion functions public
1321
1322 * src/lib/mman/Makefile.am:
1323 add cegcc flags
1324
1325 * src/lib/mman/mman.c:
1326 move include
1327
13282008-04-23 Vincent Torri <doursse at users dot sf dot net>
1329
1330 * configure.ac:
1331 * src/bin/Makefile.am:
1332 * src/lib/Makefile.am:
1333 * src/lib/dlfcn/Makefile.am:
1334 * src/lib/mman/Makefile.am:
1335 use -Wl,--enable-auto-import with cegcc
1336 fix warning with newest autoconf
1337
1338 * src/lib/dlfcn/dlfcn.c: (string_to_wchar):
1339 include wchar.h and fix warnings
1340
1341 * src/lib/mman/mman.c:
1342 use relative path to include sys/mman.h
1343
13442008-03-28 Vincent Torri <doursse at users dot sf dot net>
1345
1346 * src/lib/Evil.h:
1347 remove the stat structure and add guards
1348
1349 * src/lib/dlfcn/dlfcn.c:
1350 include limits.h also for the cegcc compiler
1351
13522008-03-23 Vincent Torri <doursse at users dot sf dot net>
1353
1354 * src/lib/Evil.h:
1355 add POSIX definitions
1356
1357 * src/lib/evil.c:
1358 make realpath available with cegcc. The function
1359 just copy the file name to the resolved name with
1360 that compiler
1361
13622008-03-13 Vincent Torri <doursse at users dot sf dot net>
1363
1364 * INSTALL:
1365 * README:
1366 additional notes for compilations with cegcc or mingw32ce
1367
1368 * configure.ac:
1369 use 'win32' instead of 'cegcc' or 'mingw'
1370
1371 * src/lib/dlfcn/dlfcn.c (dlopen):
1372 cegcc does not support LOAD_WITH_ALTERED_SEARCH_PATH.
1373 Use LoadLibrary instead of LoadLibraryEx in that case.
1374
13752008-03-05 Vincent Torri <doursse at users dot sf dot net>
1376
1377 * src/lib/Evil.h:
1378 * src/lib/evil.c:
1379 cegcc or mingwce32 does not like relative path,
1380 so _fullpath or other similar function do not exist
1381 on Winodws mobile.
1382
1383 * src/lib/mman/mman.c:
1384 missing #
1385
13862008-03-05 Vincent Torri <doursse at users dot sf dot net>
1387
1388 fix compilation with cegcc and minor fixing
1389
1390 * COPYING:
1391 copyright update
1392
1393 * configure.ac:
1394 * src/lib/Evil.h:
1395 * src/lib/dlfcn/dlfcn.h:
1396 * src/lib/mman/sys/mman.h:
1397 define EFL_EVIL_BUILD in config.h for managing correctly EAPI
1398
1399 * src/bin/test_pipe.c:
1400 stdio.h is needed after winsock2.h for mingw32ce
1401
1402 * src/lib/dlfcn/dlfcn.c (get_last_error), (dlopen), (dlsym):
1403 * src/lib/evil.c:
1404 fix some heafer files inclusion on cegc platform.
1405 first step of mingw32ce support
1406
1407 * src/lib/mman/mman.c:
1408 define _get_osfhandle for mingw32ce
1409
14102008-03-03 Vincent Torri <doursse at users dot sf dot net>
1411
1412 * COPYING:
1413 * COPYING-PLAIN:
1414 * Makefile.am:
1415 update the COPYING file
1416
14172008-02-29 Vincent Torri <doursse at users dot sf dot net>
1418
1419 * AUTHORS:
1420 Add Tor Lillqvist as author as he kindly gave me
1421 the right to use his code for pipe(). Thanks a lot !
1422
1423 * src/bin/test_dlfcn.c (main):
1424 read module and symbol from command line
1425
1426 * src/bin/test_pipe.c (thread), (main):
1427 change output
1428
1429 * src/lib/Evil.h:
1430 * src/lib/dlfcn/dlfcn.h:
1431 * src/lib/evil.c (mkstemp), (realpath), (evil_sockets_init),
1432 (evil_sockets_shutdown):
1433 * src/lib/mman/sys/mman.h:
1434 update documentation, add unlink() function, realpath()
1435 becomes a function instead of a macro, add functions to
1436 init / shutdown the socket system of Windows, undef EAPI
1437 at the end of each header files.
1438
14392008-02-27 Vincent Torri <doursse at users dot sf dot net>
1440
1441 * initial release
diff --git a/legacy/evil/README b/legacy/evil/README
deleted file mode 100644
index 430aa49060..0000000000
--- a/legacy/evil/README
+++ /dev/null
@@ -1,22 +0,0 @@
1
2The Evil library tried to port some convenient Unix functions
3to the Windows (XP or CE) platform. They are planned to be used
4in the Enlightenment Fundations Libaries (EFL).
5
6To get information on how to build that library and the EFL on
7Windows XP, see
8
9http://trac.enlightenment.org/e/wiki/EFLWindowsXP
10
11To get information on how to build that library and the EFL on
12on Windows CE, see
13
14
15http://trac.enlightenment.org/e/wiki/EFLWindowsCE
16
17To get the description of the API, behavior, etc.. run 'make doc'
18in the top level directory, then open in your favorite browser
19named Firefox the file index.html located in the subdirectory
20doc/html/.
21
22Enjoy !
diff --git a/legacy/evil/evil.pc.in b/legacy/evil/evil.pc.in
deleted file mode 100644
index 6f5f08572e..0000000000
--- a/legacy/evil/evil.pc.in
+++ /dev/null
@@ -1,13 +0,0 @@
1prefix=@prefix@
2exec_prefix=@exec_prefix@
3libdir=@libdir@
4includedir=@includedir@
5
6winver=@_efl_windows_version@
7
8Name: evil
9Description: Library that ports on Windows some specific Unix functions.
10Version: @VERSION@
11Libs: -L${libdir} -levil
12Libs.private:
13Cflags: -I${includedir}/evil-@VMAJ@ @EFL_WINDOWS_VERSION_CFLAGS@ -mms-bitfields
diff --git a/legacy/evil/src/bin/Makefile.am b/legacy/evil/src/bin/Makefile.am
deleted file mode 100644
index 538bbdcc69..0000000000
--- a/legacy/evil/src/bin/Makefile.am
+++ /dev/null
@@ -1,53 +0,0 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I$(top_srcdir) \
6-I$(top_srcdir)/bin \
7-I$(top_srcdir)/src/lib \
8@EVIL_CPPFLAGS@
9
10AM_CFLAGS = @EVIL_CFLAGS@
11
12bin_PROGRAMS = evil_suite test_evil
13
14evil_suite_SOURCES = \
15evil_suite.c \
16evil_test_dlfcn.c \
17evil_test_environment.c \
18evil_test_gettimeofday.c \
19evil_test_link.c \
20evil_test_memcpy.c \
21evil_test_mkstemp.c \
22evil_test_pipe.c \
23evil_test_print.c \
24evil_test_realpath.c \
25evil_test_util.c \
26evil_suite.h \
27evil_test_dlfcn.h \
28evil_test_environment.h \
29evil_test_gettimeofday.h \
30evil_test_link.h \
31evil_test_memcpy.h \
32evil_test_mkstemp.h \
33evil_test_pipe.h \
34evil_test_print.h \
35evil_test_realpath.h \
36evil_test_util.h
37
38if EVIL_HAVE_WINCE
39
40evil_suite_SOURCES += memcpy_glibc_arm.S
41
42#else
43
44#suite_SOURCES += memcpy_glibc_i686.S
45
46endif
47
48evil_suite_LDADD = $(top_builddir)/src/lib/libdl.la $(top_builddir)/src/lib/libevil.la -lm
49evil_suite_LDFLAGS = -Wl,--enable-auto-import
50
51test_evil_SOURCES = test_evil.c
52test_evil_LDADD = $(top_builddir)/src/lib/libevil.la
53test_evil_LDFLAGS = -Wl,--enable-auto-import
diff --git a/legacy/evil/src/bin/evil_suite.c b/legacy/evil/src/bin/evil_suite.c
deleted file mode 100644
index ba928f0682..0000000000
--- a/legacy/evil/src/bin/evil_suite.c
+++ /dev/null
@@ -1,221 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <stdlib.h>
6#include <stdio.h>
7
8#define WIN32_LEAN_AND_MEAN
9#include <windows.h>
10#undef WIN32_LEAN_AND_MEAN
11
12#include "Evil.h"
13#include "evil_suite.h"
14#include "evil_test_dlfcn.h"
15#include "evil_test_environment.h"
16#include "evil_test_gettimeofday.h"
17#include "evil_test_link.h"
18#include "evil_test_memcpy.h"
19#include "evil_test_mkstemp.h"
20#include "evil_test_pipe.h"
21#include "evil_test_print.h"
22#include "evil_test_realpath.h"
23#include "evil_test_util.h"
24
25
26typedef int(*function)(suite *s);
27
28struct test
29{
30 const char *name;
31 function fct;
32};
33
34struct list
35{
36 void *data;
37 int succeed;
38 list *next;
39};
40
41struct suite
42{
43 LARGE_INTEGER freq;
44 LARGE_INTEGER start;
45 LARGE_INTEGER end;
46
47 list *first;
48 list *l;
49
50 int tests_count;
51 int tests_success;
52};
53
54
55static suite *
56suite_new(void)
57{
58 suite *s;
59
60 s = (suite *)malloc(sizeof(suite));
61 if (!s) return NULL;
62
63 if (!QueryPerformanceFrequency(&s->freq))
64 {
65 free(s);
66 return NULL;
67 }
68
69 s->first = NULL;
70 s->l = NULL;
71
72 s->tests_count = 0;
73 s->tests_success = 0;
74
75 return s;
76}
77
78static void
79suite_del(suite *s)
80{
81 list *l;
82 list *tmp;
83
84 if (!s) return;
85
86 l = s->first;
87 while (l)
88 {
89 tmp = l->next;
90 free(l->data);
91 free(l);
92 l = tmp;
93 }
94
95 free(s);
96}
97
98void
99suite_time_start(suite *s)
100{
101 QueryPerformanceCounter(&s->start);
102}
103
104void
105suite_time_stop(suite *s)
106{
107 QueryPerformanceCounter(&s->end);
108}
109
110double
111suite_time_get(suite *s)
112{
113 return (double)(s->end.QuadPart - s->start.QuadPart) / (double)s->freq.QuadPart;
114}
115
116static void
117suite_test_add(suite *s, const char *name, function fct)
118{
119 test *t;
120 list *l;
121
122 t = (test *)malloc(sizeof(test));
123 if (!t) return;
124
125 l = (list *)malloc(sizeof(list));
126 if (!l)
127 {
128 free(t);
129 return;
130 }
131
132 t->name = name;
133 t->fct = fct;
134
135 l->data = t;
136 l->succeed = 0;
137 l->next = NULL;
138
139 if (!s->first) s->first = l;
140
141 if (!s->l)
142 s->l = l;
143 else
144 {
145 s->l->next = l;
146 s->l =l;
147 }
148}
149
150static void
151suite_run(suite *s)
152{
153 list *l;
154
155 l = s->first;
156 while (l)
157 {
158 test *t;
159
160 t = (test *)l->data;
161 l->succeed = t->fct(s);
162 printf("%s test: %s\n", t->name, l->succeed ? "success" : "failure");
163 s->tests_count++;
164 if (l->succeed)
165 s->tests_success++;
166 l = l->next;
167 }
168}
169
170static void
171suite_show(suite *s)
172{
173 printf ("\n%d/%d tests passed (%d%%)\n",
174 s->tests_success,
175 s->tests_count,
176 (100 * s->tests_success) / s->tests_count);
177}
178
179int
180main(void)
181{
182 test tests[] = {
183 { "dlfcn ", test_dlfcn },
184 { "environment ", test_environment },
185 { "gettimeofday", test_gettimeofday },
186 { "link ", test_link },
187 { "mkstemp ", test_mkstemp },
188 { "pipe ", test_pipe },
189 { "print ", test_print },
190 { "realpath ", test_realpath },
191 { "util ", test_util },
192/* { "memcpy ", test_memcpy }, */
193 { NULL, NULL },
194 };
195 suite *s;
196 int i;
197
198 if (!evil_init())
199 return EXIT_FAILURE;
200
201 s = suite_new();
202 if (!s)
203 {
204 evil_shutdown();
205 return EXIT_FAILURE;
206 }
207
208 for (i = 0; tests[i].name; ++i)
209 {
210 suite_test_add(s, tests[i].name, tests[i].fct);
211 }
212
213 suite_run(s);
214
215 suite_show(s);
216
217 suite_del(s);
218 evil_shutdown();
219
220 return EXIT_SUCCESS;
221}
diff --git a/legacy/evil/src/bin/evil_suite.h b/legacy/evil/src/bin/evil_suite.h
deleted file mode 100644
index d3284b4fbb..0000000000
--- a/legacy/evil/src/bin/evil_suite.h
+++ /dev/null
@@ -1,14 +0,0 @@
1#ifndef __EVIL_SUITE_H__
2#define __EVIL_SUITE_H__
3
4
5typedef struct test test;
6typedef struct list list;
7typedef struct suite suite;
8
9void suite_time_start(suite *s);
10void suite_time_stop(suite *s);
11double suite_time_get(suite *s);
12
13
14#endif /* __EVIL_SUITE_H__ */
diff --git a/legacy/evil/src/bin/evil_test_dlfcn.c b/legacy/evil/src/bin/evil_test_dlfcn.c
deleted file mode 100644
index fb32dd1540..0000000000
--- a/legacy/evil/src/bin/evil_test_dlfcn.c
+++ /dev/null
@@ -1,80 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6#include <dlfcn.h>
7
8#include <Evil.h>
9
10#include "evil_suite.h"
11#include "evil_test_dlfcn.h"
12
13
14typedef int (*_evil_init)(void);
15typedef int (*_evil_shutdwon)(void);
16
17
18static int
19test_dlfcn_test_dlopen(void)
20{
21 void *handle;
22
23 handle = dlopen("libevil-1.dll", 0);
24 if (!handle)
25 return 0;
26
27 if (dlclose(handle))
28 return 0;
29
30 return 1;
31}
32
33static int
34test_dlfcn_test_dlsym(void)
35{
36 void *handle;
37 _evil_init sym_init;
38 _evil_shutdwon sym_shutdown;
39
40 handle = dlopen("libevil-1.dll", 0);
41 if (!handle)
42 return 0;
43
44 sym_init = dlsym(handle, "evil_init");
45 if (!sym_init)
46 {
47 dlclose(handle);
48 return 0;
49 }
50
51 sym_shutdown = dlsym(handle, "evil_shutdown");
52 if (!sym_shutdown)
53 {
54 dlclose(handle);
55 return 0;
56 }
57
58 if (dlclose(handle))
59 return 0;
60
61 return 1;
62}
63
64static int
65test_dlfcn_tests_run(suite *s __UNUSED__)
66{
67 int res;
68
69 res = test_dlfcn_test_dlopen();
70 res &= test_dlfcn_test_dlsym();
71
72 return res;
73}
74
75int
76test_dlfcn(suite *s)
77{
78
79 return test_dlfcn_tests_run(s);
80}
diff --git a/legacy/evil/src/bin/evil_test_dlfcn.h b/legacy/evil/src/bin/evil_test_dlfcn.h
deleted file mode 100644
index 0c9bce689e..0000000000
--- a/legacy/evil/src/bin/evil_test_dlfcn.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_DLFCN_H__
2#define __EVIL_TEST_DLFCN_H__
3
4
5int test_dlfcn(suite *s);
6
7
8#endif /* __EVIL_TEST_DLFCN_H__ */
diff --git a/legacy/evil/src/bin/evil_test_environment.c b/legacy/evil/src/bin/evil_test_environment.c
deleted file mode 100644
index 3048a40124..0000000000
--- a/legacy/evil/src/bin/evil_test_environment.c
+++ /dev/null
@@ -1,178 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6
7#include <Evil.h>
8
9#include "evil_suite.h"
10#include "evil_test_environment.h"
11
12
13static int
14test_env_test_setenv_NULL(void)
15{
16 char *val;
17 int res;
18
19 res = setenv("EVIL_TEST_ENV", NULL, 1);
20 if (res < 0)
21 return 0;
22
23 val = getenv("EVIL_TEST_ENV");
24
25 return val ? 0 : 1;
26}
27
28static int
29test_env_test_setenv_NULL_after_set(void)
30{
31 char *val;
32 int res;
33
34 res = setenv("EVIL_TEST_ENV", "val", 1);
35 if (res < 0)
36 return 0;
37
38 val = getenv("EVIL_TEST_ENV");
39 if (!val)
40 return 0;
41
42 if (strcmp(val, "val"))
43 return 0;
44
45 res = setenv("EVIL_TEST_ENV", NULL, 1);
46 if (res < 0)
47 return 0;
48
49 val = getenv("EVIL_TEST_ENV");
50
51 return val ? 0 : 1;
52}
53
54static int
55test_env_test_getenv_one(void)
56{
57 char *val;
58 int res;
59
60 res = setenv("EVIL_TEST_ENV", "val", 1);
61 if (res < 0)
62 return 0;
63
64 val = getenv("EVIL_TEST_ENV");
65 if (!val)
66 return 0;
67
68 if (strcmp(val, "val"))
69 return 0;
70
71 return 1;
72}
73
74static int
75test_env_test_getenv_two(void)
76{
77 char *val;
78 int res;
79
80 res = setenv("EVIL_TEST_ENV1", "val1", 1);
81 if (res < 0)
82 return 0;
83
84 res = setenv("EVIL_TEST_ENV2", "val2", 1);
85 if (res < 0)
86 return 0;
87
88 val = getenv("EVIL_TEST_ENV1");
89 if (!val)
90 return 0;
91 if (strcmp(val, "val1"))
92 return 0;
93
94 val = getenv("EVIL_TEST_ENV2");
95 if (!val)
96 return 0;
97
98 if (strcmp(val, "val2"))
99 return 0;
100
101 return 1;
102}
103
104static int
105test_env_test_getenv_two_swapped(void)
106{
107 char *val;
108 int res;
109
110 res = setenv("EVIL_TEST_ENV1", "val1", 1);
111 if (res < 0)
112 return 0;
113
114 res = setenv("EVIL_TEST_ENV2", "val2", 1);
115 if (res < 0)
116 return 0;
117
118 val = getenv("EVIL_TEST_ENV2");
119 if (!val)
120 return 0;
121 if (strcmp(val, "val2"))
122 return 0;
123
124 val = getenv("EVIL_TEST_ENV1");
125 if (!val)
126 return 0;
127
128 if (strcmp(val, "val1"))
129 return 0;
130
131 return 1;
132}
133
134static int
135test_env_test_unsetenv(void)
136{
137 char *val;
138 int res;
139
140 res = setenv("EVIL_TEST_ENV", "val", 1);
141 if (res < 0)
142 return 0;
143
144 val = getenv("EVIL_TEST_ENV");
145 if (!val)
146 return 0;
147
148 if (unsetenv("EVIL_TEST_ENV") != 0)
149 return 0;
150
151 val = getenv("EVIL_TEST_ENV");
152 if (val)
153 return 0;
154
155 return 1;
156}
157
158static int
159test_env_tests_run(suite *s __UNUSED__)
160{
161 int res;
162
163 res = test_env_test_setenv_NULL();
164 res &= test_env_test_setenv_NULL_after_set();
165 res &= test_env_test_getenv_one();
166 res &= test_env_test_getenv_two();
167 res &= test_env_test_getenv_two_swapped();
168 res &= test_env_test_unsetenv();
169
170 return res;
171}
172
173int
174test_environment(suite *s)
175{
176
177 return test_env_tests_run(s);
178}
diff --git a/legacy/evil/src/bin/evil_test_environment.h b/legacy/evil/src/bin/evil_test_environment.h
deleted file mode 100644
index 763ee401b1..0000000000
--- a/legacy/evil/src/bin/evil_test_environment.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_ENVIRONMENT_H__
2#define __EVIL_TEST_ENVIRONMENT_H__
3
4
5int test_environment(suite *s);
6
7
8#endif /* __EVIL_TEST_ENVIRONMENT_H__ */
diff --git a/legacy/evil/src/bin/evil_test_gettimeofday.c b/legacy/evil/src/bin/evil_test_gettimeofday.c
deleted file mode 100644
index 49742eb5d3..0000000000
--- a/legacy/evil/src/bin/evil_test_gettimeofday.c
+++ /dev/null
@@ -1,51 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6#include <math.h>
7#include <sys/time.h>
8
9#include <Evil.h>
10
11#include "evil_suite.h"
12#include "evil_test_gettimeofday.h"
13
14static int
15test_time_test_gettimeofday(void)
16{
17 struct timeval tp1;
18 struct timeval tp2;
19 double delta;
20
21 gettimeofday (&tp1, NULL);
22
23 Sleep(1000);
24
25 gettimeofday (&tp2, NULL);
26
27 delta = (double)(tp2.tv_sec - tp1.tv_sec) + (double)(tp2.tv_usec - tp1.tv_usec) / 1000000.0;
28 if (fabs(delta - 1) > 0.005)
29 {
30 return 0;
31 }
32
33 return 1;
34}
35
36static int
37test_time_tests_run(suite *s __UNUSED__)
38{
39 int res;
40
41 res = test_time_test_gettimeofday();
42
43 return res;
44}
45
46int
47test_gettimeofday(suite *s)
48{
49
50 return test_time_tests_run(s);
51}
diff --git a/legacy/evil/src/bin/evil_test_gettimeofday.h b/legacy/evil/src/bin/evil_test_gettimeofday.h
deleted file mode 100644
index ad3155b146..0000000000
--- a/legacy/evil/src/bin/evil_test_gettimeofday.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_GETTIMEOFDAY_H__
2#define __EVIL_TEST_GETTIMEOFDAY_H__
3
4
5int test_gettimeofday(suite *s);
6
7
8#endif /* __EVIL_TEST_GETTIMEOFDAY_H__ */
diff --git a/legacy/evil/src/bin/evil_test_link.c b/legacy/evil/src/bin/evil_test_link.c
deleted file mode 100644
index cf4cd931ae..0000000000
--- a/legacy/evil/src/bin/evil_test_link.c
+++ /dev/null
@@ -1,158 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6
7#include <Evil.h>
8
9#include "evil_suite.h"
10#include "evil_test_link.h"
11
12static int
13test_link_test_file_create(const char *name, const char *data)
14{
15 FILE *f;
16 size_t length;
17 size_t res;
18
19 f = fopen(name, "wb");
20 if (!f)
21 return 0;
22
23 length = strlen(data) + 1;
24 res = fwrite(data, 1, length, f);
25 if (res < length)
26 {
27 fclose(f);
28 return 0;
29 }
30
31 fclose(f);
32
33 return 1;
34}
35
36static int
37test_link_test_symlink(void)
38{
39#ifdef _WIN32_WCE
40 const char *old_name = "\\efl\\evil_test_link.dat";
41 const char *new_name = "\\efl\\evil_test_link.lnk";
42#else
43 const char *old_name = "evil_test_link.dat";
44 const char *new_name = "evil_test_link.lnk";
45#endif
46
47 if (!test_link_test_file_create(old_name,
48 "evil_test_link symlink data\n"))
49 return 0;
50
51 if (symlink(old_name, new_name) < 0)
52 {
53 unlink(old_name);
54 return 0;
55 }
56
57 if (unlink(new_name) < 0)
58 {
59 unlink(old_name);
60 return 0;
61 }
62
63 if (unlink(old_name) < 0)
64 return 0;
65
66 return 1;
67}
68
69static int
70test_link_test_readlink(void)
71{
72 char buf[1024];
73#ifdef _WIN32_WCE
74 const char *old_name = "\\efl\\evil_test_link.dat";
75 const char *new_name = "\\efl\\evil_test_link.lnk";
76#else
77 const char *old_name = "evil_test_link.dat";
78 const char *new_name = "evil_test_link.lnk";
79#endif
80 const char *data = "evil_test_link symlink data\n";
81 FILE *f;
82 ssize_t s1;
83 size_t s2;
84 int l;
85
86 if (!test_link_test_file_create(old_name, data))
87 return 0;
88
89 if (symlink(old_name, new_name) < 0)
90 return 0;
91
92 if ((s1 = readlink(new_name, buf, 1023)) < 0)
93 {
94 unlink(old_name);
95 unlink(new_name);
96 return 0;
97 }
98
99 buf[s1] = '\0';
100
101 f = fopen(buf, "rb");
102 if (!f)
103 {
104 unlink(old_name);
105 unlink(new_name);
106 return 0;
107 }
108
109 l = strlen(data);
110 s2 = fread(buf, 1, l + 1, f);
111
112 if ((int)s2 != (l + 1))
113 {
114 fclose(f);
115 unlink(old_name);
116 unlink(new_name);
117 return 0;
118 }
119
120 if (strcmp(buf, data))
121 {
122 fclose(f);
123 unlink(old_name);
124 unlink(new_name);
125 return 0;
126 }
127
128 fclose(f);
129
130 if (unlink(new_name) < 0)
131 {
132 unlink(old_name);
133 return 0;
134 }
135
136 if (unlink(old_name) < 0)
137 return 0;
138
139 return 1;
140}
141
142static int
143test_link_tests_run(suite *s __UNUSED__)
144{
145 int res;
146
147 res = test_link_test_symlink();
148 res &= test_link_test_readlink();
149
150 return res;
151}
152
153int
154test_link(suite *s)
155{
156
157 return test_link_tests_run(s);
158}
diff --git a/legacy/evil/src/bin/evil_test_link.h b/legacy/evil/src/bin/evil_test_link.h
deleted file mode 100644
index 6f8bfa2328..0000000000
--- a/legacy/evil/src/bin/evil_test_link.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_LINK_H__
2#define __EVIL_TEST_LINK_H__
3
4
5int test_link(suite *s);
6
7
8#endif /* __EVIL_TEST_LINK_H__ */
diff --git a/legacy/evil/src/bin/evil_test_memcpy.c b/legacy/evil/src/bin/evil_test_memcpy.c
deleted file mode 100644
index 0adfe373f0..0000000000
--- a/legacy/evil/src/bin/evil_test_memcpy.c
+++ /dev/null
@@ -1,145 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <stdlib.h>
6#include <stdio.h>
7
8#define WIN32_LEAN_AND_MEAN
9#include <windows.h>
10#undef WIN32_LEAN_AND_MEAN
11
12#include "evil_suite.h"
13#include "evil_test_memcpy.h"
14
15
16typedef void *(*memcpy_decl)(void *dest, const void *src, size_t n);
17
18void *memcpy_glibc(void *dest, const void *src, size_t n);
19
20
21static unsigned char *buf1 = NULL;
22static unsigned char *buf2 = NULL;
23static size_t page_size = 0;
24
25
26#if defined (__MINGW32CE__) || defined (_MSC_VER)
27static int
28getpagesize()
29{
30 return 1024;
31}
32#endif /* __MINGW32CE__ || _MSC_VER */
33
34
35static void
36test_memcpy_test_run(suite *s, memcpy_decl fct, char *dst, const char *src, size_t len)
37{
38 double best;
39 int i;
40
41 best = 1000000000.0;
42
43 for (i = 0; i < 128; ++i)
44 {
45 double time;
46
47 suite_time_start(s);
48 fct(dst, src, len);
49 suite_time_stop(s);
50 time = suite_time_get(s);
51 if (time < best) best = time;
52 }
53
54 printf (" %e", best);
55}
56
57static void
58test_memcpy_tests_run(suite *s, size_t align1, size_t align2, size_t len)
59{
60 size_t i, j;
61 char *s1, *s2;
62
63 printf ("running test..\n");
64
65/* align1 &= 63; */
66/* if (align1 + len >= page_size) */
67/* return; */
68
69/* align2 &= 63; */
70/* if (align2 + len >= page_size) */
71/* return; */
72
73 s1 = (char *) (buf1 + align1);
74 s2 = (char *) (buf2 + align2);
75
76 for (i = 0, j = 1; i < len; i++, j += 23)
77 s1[i] = j;
78
79 printf ("length: %6d, align %2d/%2d:", (int)len, align1, align2);
80
81 test_memcpy_test_run(s, memcpy, s2, s1, len);
82#ifdef _WIN32_WCE
83 test_memcpy_test_run(s, memcpy_glibc, s2, s1, len);
84#endif /* _WIN32_WCE */
85
86 printf ("\n");
87}
88
89int
90test_memcpy(suite *s)
91{
92 size_t i;
93
94 page_size = 2 * 1024;
95
96 buf1 = (unsigned char *)malloc(16 * getpagesize());
97 if (!buf1) return 0;
98
99 buf2 = (unsigned char *)malloc(16 * getpagesize());
100 if (!buf2)
101 {
102 free(buf1);
103 return 0;
104 }
105
106 memset (buf1, 0xa5, page_size);
107 memset (buf2, 0x5a, page_size);
108
109 for (i = 0; i < 5; ++i)
110 {
111 test_memcpy_tests_run(s, 0, 0, 1 << i);
112 test_memcpy_tests_run(s, i, 0, 1 << i);
113 test_memcpy_tests_run(s, 0, i, 1 << i);
114 test_memcpy_tests_run(s, i, i, 1 << i);
115 }
116
117 for (i = 0; i < 32; ++i)
118 {
119 test_memcpy_tests_run(s, 0, 0, i);
120 test_memcpy_tests_run(s, i, 0, i);
121 test_memcpy_tests_run(s, 0, i, i);
122 test_memcpy_tests_run(s, i, i, i);
123 }
124
125 for (i = 3; i < 32; ++i)
126 {
127 if ((i & (i - 1)) == 0)
128 continue;
129 test_memcpy_tests_run(s, 0, 0, 16 * i);
130 test_memcpy_tests_run(s, i, 0, 16 * i);
131 test_memcpy_tests_run(s, 0, i, 16 * i);
132 test_memcpy_tests_run(s, i, i, 16 * i);
133 }
134
135 test_memcpy_tests_run(s, 0, 0, getpagesize ());
136 test_memcpy_tests_run(s, 0, 0, 2 * getpagesize ());
137 test_memcpy_tests_run(s, 0, 0, 4 * getpagesize ());
138 test_memcpy_tests_run(s, 0, 0, 8 * getpagesize ());
139 test_memcpy_tests_run(s, 0, 0, 16 * getpagesize ());
140
141 free(buf2);
142 free(buf1);
143
144 return 1;
145}
diff --git a/legacy/evil/src/bin/evil_test_memcpy.h b/legacy/evil/src/bin/evil_test_memcpy.h
deleted file mode 100644
index 808dd09f37..0000000000
--- a/legacy/evil/src/bin/evil_test_memcpy.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_MEMCPY__
2#define __EVIL_TEST_MEMCPY__
3
4
5int test_memcpy(suite *s);
6
7
8#endif /* __EVIL_TEST_MEMCPY__ */
diff --git a/legacy/evil/src/bin/evil_test_mkstemp.c b/legacy/evil/src/bin/evil_test_mkstemp.c
deleted file mode 100644
index dc8c4e64f5..0000000000
--- a/legacy/evil/src/bin/evil_test_mkstemp.c
+++ /dev/null
@@ -1,53 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6
7#include <Evil.h>
8
9#include "evil_suite.h"
10#include "evil_test_mkstemp.h"
11
12
13static int
14test_mkstemp_test(void)
15{
16 char _template[PATH_MAX];
17#ifdef _WIN32_WCE
18 char cwd[PATH_MAX];
19#endif
20 int fd;
21
22#ifdef _WIN32_WCE
23 if (!getcwd(cwd, PATH_MAX))
24 return 0;
25 _snprintf(_template, PATH_MAX, "%s\\%s", cwd, "file_XXXXXX");
26#else
27 _snprintf(_template, PATH_MAX, "%s", "file_XXXXXX");
28#endif
29
30 fd = mkstemp(_template);
31
32 if (fd < 0)
33 return 0;
34
35 return 1;
36}
37
38static int
39test_mkstemp_run(suite *s __UNUSED__)
40{
41 int res;
42
43 res = test_mkstemp_test();
44
45 return res;
46}
47
48int
49test_mkstemp(suite *s)
50{
51
52 return test_mkstemp_run(s);
53}
diff --git a/legacy/evil/src/bin/evil_test_mkstemp.h b/legacy/evil/src/bin/evil_test_mkstemp.h
deleted file mode 100644
index f5bb0c4270..0000000000
--- a/legacy/evil/src/bin/evil_test_mkstemp.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_MKSTEMP_H__
2#define __EVIL_TEST_MKSTEMP_H__
3
4
5int test_mkstemp(suite *s);
6
7
8#endif /* __EVIL_TEST_MKSTEMP_H__ */
diff --git a/legacy/evil/src/bin/evil_test_pipe.c b/legacy/evil/src/bin/evil_test_pipe.c
deleted file mode 100644
index 2fc530d545..0000000000
--- a/legacy/evil/src/bin/evil_test_pipe.c
+++ /dev/null
@@ -1,126 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <stdlib.h>
6#include <stdio.h>
7
8# define WIN32_LEAN_AND_MEAN
9# include <winsock2.h>
10# undef WIN32_LEAN_AND_MEAN
11
12#include <Evil.h>
13
14#include "evil_suite.h"
15#include "evil_test_pipe.h"
16
17
18#define FDREAD 0
19#define FDWRITE 1
20
21typedef struct
22{
23 int val;
24 int fd_write;
25} data;
26
27
28static DWORD WINAPI
29thread (void *param)
30{
31 data *d;
32 void *buf[1];
33
34 Sleep (2 * 1000);
35 d = (data *)param;
36 buf[0] = d;
37 send(d->fd_write, (char *)buf, sizeof(buf), 0);
38
39 return 0;
40}
41
42static int
43test_pipe_test(void)
44{
45 int sockets[2];
46 struct timeval t;
47 fd_set rfds;
48 int ret;
49 data *d;
50 DWORD thread_id;
51 HANDLE h;
52
53 FD_ZERO(&rfds);
54
55 t.tv_sec = 5;
56 t.tv_usec = 0;
57
58 if (pipe(sockets) < 0)
59 return 0;
60
61 FD_SET(sockets[FDREAD], &rfds);
62 fcntl(sockets[FDREAD], F_SETFL, O_NONBLOCK);
63
64 d = (data *)malloc(sizeof (data));
65 if (!d)
66 return 0;
67
68 d->val = 14;
69 d->fd_write = sockets[FDWRITE];
70
71 h = CreateThread(NULL, 0, thread, d, 0, &thread_id);
72 if (!h)
73
74 ret = select(sockets[FDREAD] + 1, &rfds, NULL, NULL, &t);
75
76 if (ret < 0)
77 goto free_d;
78 else if (ret == 0)
79 goto close_h;
80 else /* ret > 0 */
81 {
82 void *buf[1];
83 data *d2 = NULL;
84 int len;
85
86 while ((len = recv(sockets[FDREAD], (char *)buf, sizeof(buf), 0)) > 0)
87 {
88 if (len == sizeof(buf))
89 {
90 d2 = (data *)buf[0];
91 break;
92 }
93 }
94 if (d2 && (d2->val == d->val))
95 ret = 1;
96 else
97 ret = 0;
98 }
99
100 CloseHandle(h);
101 free(d);
102
103 return ret;
104
105 close_h:
106 CloseHandle(h);
107 free_d:
108 free(d);
109 return 0;
110}
111
112static int
113test_pipe_run(suite *s __UNUSED__)
114{
115 int res;
116
117 res = test_pipe_test();
118
119 return res;
120}
121
122int
123test_pipe(suite *s)
124{
125 return test_pipe_run(s);
126}
diff --git a/legacy/evil/src/bin/evil_test_pipe.h b/legacy/evil/src/bin/evil_test_pipe.h
deleted file mode 100644
index ff8041f716..0000000000
--- a/legacy/evil/src/bin/evil_test_pipe.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_PIPE_H__
2#define __EVIL_TEST_PIPE_H__
3
4
5int test_pipe(suite *s);
6
7
8#endif /* __EVIL_TEST_PIPE_H__ */
diff --git a/legacy/evil/src/bin/evil_test_print.c b/legacy/evil/src/bin/evil_test_print.c
deleted file mode 100644
index b930a538f4..0000000000
--- a/legacy/evil/src/bin/evil_test_print.c
+++ /dev/null
@@ -1,46 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <stdlib.h>
6#include <stdio.h>
7
8#include <Evil.h>
9
10#include "evil_suite.h"
11#include "evil_test_print.h"
12
13static int
14test_print_test(void)
15{
16 char buf[16];
17 int i1 = 1;
18 size_t i2 = 123456;
19 int res;
20
21 res = printf("%02hhd\n", i1);
22 if (res != 3)
23 return 0;
24
25 res = snprintf(buf, sizeof(buf), "%zu", i2);
26 if (res != 6)
27 return 0;
28
29 return 1;
30}
31
32static int
33test_print_run(suite *s __UNUSED__)
34{
35 int res;
36
37 res = test_print_test();
38
39 return res;
40}
41
42int
43test_print(suite *s)
44{
45 return test_print_run(s);
46}
diff --git a/legacy/evil/src/bin/evil_test_print.h b/legacy/evil/src/bin/evil_test_print.h
deleted file mode 100644
index 2bbf43904f..0000000000
--- a/legacy/evil/src/bin/evil_test_print.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_PRINT_H__
2#define __EVIL_TEST_PRINT_H__
3
4
5int test_print(suite *s);
6
7
8#endif /* __EVIL_TEST_PRINT_H__ */
diff --git a/legacy/evil/src/bin/evil_test_realpath.c b/legacy/evil/src/bin/evil_test_realpath.c
deleted file mode 100644
index f9a48cb977..0000000000
--- a/legacy/evil/src/bin/evil_test_realpath.c
+++ /dev/null
@@ -1,44 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6
7#include <Evil.h>
8
9#include "evil_suite.h"
10#include "evil_test_realpath.h"
11
12
13static int
14test_realpath_test(void)
15{
16 char buf[PATH_MAX];
17 char *filename;
18 char *result;
19
20 filename = "evil_suite.exe";
21
22 if (!(result = realpath(filename, buf)))
23 return 0;
24
25 printf ("res : %s\n", buf);
26
27 return 1;
28}
29
30static int
31test_realpath_run(suite *s __UNUSED__)
32{
33 int res;
34
35 res = test_realpath_test();
36
37 return res;
38}
39
40int
41test_realpath(suite *s)
42{
43 return test_realpath_run(s);
44}
diff --git a/legacy/evil/src/bin/evil_test_realpath.h b/legacy/evil/src/bin/evil_test_realpath.h
deleted file mode 100644
index 0205aad149..0000000000
--- a/legacy/evil/src/bin/evil_test_realpath.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_REALPATH_H__
2#define __EVIL_TEST_REALPATH_H__
3
4
5int test_realpath(suite *s);
6
7
8#endif /* __EVIL_TEST_REALPATH_H__ */
diff --git a/legacy/evil/src/bin/evil_test_util.c b/legacy/evil/src/bin/evil_test_util.c
deleted file mode 100644
index 6226ceb040..0000000000
--- a/legacy/evil/src/bin/evil_test_util.c
+++ /dev/null
@@ -1,110 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif /* HAVE_CONFIG_H */
4
5#include <string.h>
6
7#include <Evil.h>
8
9#include "evil_suite.h"
10#include "evil_test_util.h"
11
12
13static int test_path_absolute_test_1(void)
14{
15 char *path;
16 int result;
17
18 path = NULL;
19 result = evil_path_is_absolute(path);
20 if (result != 0)
21 return 0;
22
23 return 1;
24}
25
26static int test_path_absolute_test_2(void)
27{
28 char *path;
29 int result;
30
31 path = "1";
32 result = evil_path_is_absolute(path);
33 if (result != 0)
34 return 0;
35
36 return 1;
37}
38
39static int test_path_absolute_test_3(void)
40{
41 char *path;
42 int result;
43
44 path = "1:\\";
45 result = evil_path_is_absolute(path);
46 if (result != 0)
47 return 0;
48
49 return 1;
50}
51
52static int test_path_absolute_test_4(void)
53{
54 char *path;
55 int result;
56
57 path = "1/\\";
58 result = evil_path_is_absolute(path);
59 if (result != 0)
60 return 0;
61
62 return 1;
63}
64
65static int test_path_absolute_test_5(void)
66{
67 char *path;
68 int result;
69
70 path = "F:/foo";
71 result = evil_path_is_absolute(path);
72 if (result == 0)
73 return 0;
74
75 return 1;
76}
77
78static int test_path_absolute_test_6(void)
79{
80 char *path;
81 int result;
82
83 path = "C:\\foo";
84 result = evil_path_is_absolute(path);
85 if (result == 0)
86 return 0;
87
88 return 1;
89}
90
91static int
92test_path_absolute_run(suite *s __UNUSED__)
93{
94 int res;
95
96 res = test_path_absolute_test_1();
97 res &= test_path_absolute_test_2();
98 res &= test_path_absolute_test_3();
99 res &= test_path_absolute_test_4();
100 res &= test_path_absolute_test_5();
101 res &= test_path_absolute_test_6();
102
103 return res;
104}
105
106int
107test_util(suite *s)
108{
109 return test_path_absolute_run(s);
110}
diff --git a/legacy/evil/src/bin/evil_test_util.h b/legacy/evil/src/bin/evil_test_util.h
deleted file mode 100644
index bee5c7a164..0000000000
--- a/legacy/evil/src/bin/evil_test_util.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef __EVIL_TEST_UTIL_H__
2#define __EVIL_TEST_UTIL_H__
3
4
5int test_util(suite *s);
6
7
8#endif /* __EVIL_TEST_UTIL_H__ */
diff --git a/legacy/evil/src/bin/memcpy_glibc_arm.S b/legacy/evil/src/bin/memcpy_glibc_arm.S
deleted file mode 100644
index 7c42898647..0000000000
--- a/legacy/evil/src/bin/memcpy_glibc_arm.S
+++ /dev/null
@@ -1,231 +0,0 @@
1/* Copyright (C) 2006 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 Contributed by MontaVista Software, Inc. (written by Nicolas Pitre)
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, write to the Free
18 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA. */
20
21/* Copyright (C) 2008 Vincent Torri
22 modification of the name and of the entry / end declaration
23 */
24
25/*
26 * Data preload for architectures that support it (ARM V5TE and above)
27 */
28#if (!defined (__ARM_ARCH_2__) && !defined (__ARM_ARCH_3__) \
29 && !defined (__ARM_ARCH_3M__) && !defined (__ARM_ARCH_4__) \
30 && !defined (__ARM_ARCH_4T__) && !defined (__ARM_ARCH_5__) \
31 && !defined (__ARM_ARCH_5T__))
32#define PLD(code...) code
33#else
34#define PLD(code...)
35#endif
36
37/*
38 * This can be used to enable code to cacheline align the source pointer.
39 * Experiments on tested architectures (StrongARM and XScale) didn't show
40 * this a worthwhile thing to do. That might be different in the future.
41 */
42//#define CALGN(code...) code
43#define CALGN(code...)
44
45/*
46 * Endian independent macros for shifting bytes within registers.
47 */
48#ifndef __ARMEB__
49#define pull lsr
50#define push lsl
51#else
52#define pull lsl
53#define push lsr
54#endif
55
56 .text
57
58/* Prototype: void *memcpy_glibc(void *dest, const void *src, size_t n); */
59
60 .align
61 .global memcpy_glibc
62 .func memcpy_glibc
63memcpy_glibc:
64
65 stmfd sp!, {r0, r4, lr}
66
67 subs r2, r2, #4
68 blt 8f
69 ands ip, r0, #3
70 PLD( pld [r1, #0] )
71 bne 9f
72 ands ip, r1, #3
73 bne 10f
74
751: subs r2, r2, #(28)
76 stmfd sp!, {r5 - r8}
77 blt 5f
78
79 CALGN( ands ip, r1, #31 )
80 CALGN( rsb r3, ip, #32 )
81 CALGN( sbcnes r4, r3, r2 ) @ C is always set here
82 CALGN( bcs 2f )
83 CALGN( adr r4, 6f )
84 CALGN( subs r2, r2, r3 ) @ C gets set
85 CALGN( add pc, r4, ip )
86
87 PLD( pld [r1, #0] )
882: PLD( subs r2, r2, #96 )
89 PLD( pld [r1, #28] )
90 PLD( blt 4f )
91 PLD( pld [r1, #60] )
92 PLD( pld [r1, #92] )
93
943: PLD( pld [r1, #124] )
954: ldmia r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
96 subs r2, r2, #32
97 stmia r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
98 bge 3b
99 PLD( cmn r2, #96 )
100 PLD( bge 4b )
101
1025: ands ip, r2, #28
103 rsb ip, ip, #32
104 addne pc, pc, ip @ C is always clear here
105 b 7f
1066: nop
107 ldr r3, [r1], #4
108 ldr r4, [r1], #4
109 ldr r5, [r1], #4
110 ldr r6, [r1], #4
111 ldr r7, [r1], #4
112 ldr r8, [r1], #4
113 ldr lr, [r1], #4
114
115 add pc, pc, ip
116 nop
117 nop
118 str r3, [r0], #4
119 str r4, [r0], #4
120 str r5, [r0], #4
121 str r6, [r0], #4
122 str r7, [r0], #4
123 str r8, [r0], #4
124 str lr, [r0], #4
125
126 CALGN( bcs 2b )
127
1287: ldmfd sp!, {r5 - r8}
129
1308: movs r2, r2, lsl #31
131 ldrneb r3, [r1], #1
132 ldrcsb r4, [r1], #1
133 ldrcsb ip, [r1]
134 strneb r3, [r0], #1
135 strcsb r4, [r0], #1
136 strcsb ip, [r0]
137
138 ldmfd sp!, {r0, r4, pc}
139
1409: rsb ip, ip, #4
141 cmp ip, #2
142 ldrgtb r3, [r1], #1
143 ldrgeb r4, [r1], #1
144 ldrb lr, [r1], #1
145 strgtb r3, [r0], #1
146 strgeb r4, [r0], #1
147 subs r2, r2, ip
148 strb lr, [r0], #1
149 blt 8b
150 ands ip, r1, #3
151 beq 1b
152
15310: bic r1, r1, #3
154 cmp ip, #2
155 ldr lr, [r1], #4
156 beq 17f
157 bgt 18f
158
159
160 .macro forward_copy_shift pull push
161
162 subs r2, r2, #28
163 blt 14f
164
165 CALGN( ands ip, r1, #31 )
166 CALGN( rsb ip, ip, #32 )
167 CALGN( sbcnes r4, ip, r2 ) @ C is always set here
168 CALGN( subcc r2, r2, ip )
169 CALGN( bcc 15f )
170
17111: stmfd sp!, {r5 - r9}
172
173 PLD( pld [r1, #0] )
174 PLD( subs r2, r2, #96 )
175 PLD( pld [r1, #28] )
176 PLD( blt 13f )
177 PLD( pld [r1, #60] )
178 PLD( pld [r1, #92] )
179
18012: PLD( pld [r1, #124] )
18113: ldmia r1!, {r4, r5, r6, r7}
182 mov r3, lr, pull #\pull
183 subs r2, r2, #32
184 ldmia r1!, {r8, r9, ip, lr}
185 orr r3, r3, r4, push #\push
186 mov r4, r4, pull #\pull
187 orr r4, r4, r5, push #\push
188 mov r5, r5, pull #\pull
189 orr r5, r5, r6, push #\push
190 mov r6, r6, pull #\pull
191 orr r6, r6, r7, push #\push
192 mov r7, r7, pull #\pull
193 orr r7, r7, r8, push #\push
194 mov r8, r8, pull #\pull
195 orr r8, r8, r9, push #\push
196 mov r9, r9, pull #\pull
197 orr r9, r9, ip, push #\push
198 mov ip, ip, pull #\pull
199 orr ip, ip, lr, push #\push
200 stmia r0!, {r3, r4, r5, r6, r7, r8, r9, ip}
201 bge 12b
202 PLD( cmn r2, #96 )
203 PLD( bge 13b )
204
205 ldmfd sp!, {r5 - r9}
206
20714: ands ip, r2, #28
208 beq 16f
209
21015: mov r3, lr, pull #\pull
211 ldr lr, [r1], #4
212 subs ip, ip, #4
213 orr r3, r3, lr, push #\push
214 str r3, [r0], #4
215 bgt 15b
216 CALGN( cmp r2, #0 )
217 CALGN( bge 11b )
218
21916: sub r1, r1, #(\push / 8)
220 b 8b
221
222 .endm
223
224
225 forward_copy_shift pull=8 push=24
226
22717: forward_copy_shift pull=16 push=16
228
22918: forward_copy_shift pull=24 push=8
230
231.endfunc
diff --git a/legacy/evil/src/bin/memcpy_glibc_i686.S b/legacy/evil/src/bin/memcpy_glibc_i686.S
deleted file mode 100755
index 72da118cf0..0000000000
--- a/legacy/evil/src/bin/memcpy_glibc_i686.S
+++ /dev/null
@@ -1,81 +0,0 @@
1/* Copy memory block and return pointer to beginning of destination block
2 For Intel 80x86, x>=6.
3 This file is part of the GNU C Library.
4 Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
5 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
6
7 The GNU C Library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
11
12 The GNU C Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with the GNU C Library; if not, write to the Free
19 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20 02111-1307 USA. */
21
22# define CHECK_BOUNDS_BOTH_WIDE(VAL_REG, BP_MEM, LENGTH) \
23 CHECK_BOUNDS_LOW(VAL_REG, BP_MEM); \
24 addl LENGTH, VAL_REG; \
25 cmpl 8+BP_MEM, VAL_REG; \
26 jbe 0f; /* continue if value <= high */ \
27 BOUNDS_VIOLATED; \
28 0: subl LENGTH, VAL_REG /* restore value */
29
30# define RETURN_BOUNDED_POINTER(BP_MEM) \
31 movl RTN(%esp), %edx; \
32 movl %eax, 0(%edx); \
33 movl 4+BP_MEM, %eax; \
34 movl %eax, 4(%edx); \
35 movl 8+BP_MEM, %eax; \
36 movl %eax, 8(%edx)
37
38#define PTR_SIZE 12
39#define RTN_SIZE 4
40#define LINKAGE 8
41
42#define PARMS LINKAGE /* no space for saved regs */
43#define RTN PARMS
44#define DEST RTN+RTN_SIZE
45#define SRC DEST+PTR_SIZE
46#define LEN SRC+PTR_SIZE
47
48 .text
49
50 .align
51 .global memcpy_glibc
52 .func memcpy_glibc
53memcpy_glibc:
54
55 pushl %ebp
56 movl %esp, %ebp
57
58 movl LEN(%esp), %ecx
59 movl %edi, %eax
60 movl DEST(%esp), %edi
61 movl %esi, %edx
62 movl SRC(%esp), %esi
63
64 cld
65 shrl $1, %ecx
66 jnc 1f
67 movsb
681: shrl $1, %ecx
69 jnc 2f
70 movsw
712: rep
72 movsl
73 movl %eax, %edi
74 movl %edx, %esi
75 movl DEST(%esp), %eax
76 RETURN_BOUNDED_POINTER (DEST(%esp))
77
78 movl %ebp, %esp
79 popl %ebp
80
81.endfunc
diff --git a/legacy/evil/src/bin/test_evil.c b/legacy/evil/src/bin/test_evil.c
deleted file mode 100644
index 5b91172cb3..0000000000
--- a/legacy/evil/src/bin/test_evil.c
+++ /dev/null
@@ -1,27 +0,0 @@
1#include <stdlib.h>
2#include <stdio.h>
3#include <sys/time.h>
4
5#include <windows.h>
6
7
8
9int
10main()
11{
12 struct timeval tv;
13 double t1 = 0.0;
14 double t2 = 0.0;
15
16 if (gettimeofday(&tv, NULL) == 0)
17 t1 = tv.tv_sec + tv.tv_usec / 1000000.0;
18
19 Sleep(3000);
20
21 if (gettimeofday(&tv, NULL) == 0)
22 t2 = tv.tv_sec + tv.tv_usec / 1000000.0;
23
24 printf ("3 seconds ? %f\n", t2 - t1);
25
26 return EXIT_SUCCESS;
27}
diff --git a/legacy/evil/src/lib/Evil.h b/legacy/evil/src/lib/Evil.h
deleted file mode 100644
index e807dffb61..0000000000
--- a/legacy/evil/src/lib/Evil.h
+++ /dev/null
@@ -1,186 +0,0 @@
1#ifndef __EVIL_H__
2#define __EVIL_H__
3
4/**
5 * @mainpage Evil
6 * @image html e_big.png
7 * @author Vincent Torri
8 * @version 1.7.0
9 * @date 2008-2012
10 *
11 * @section intro_sec Introduction
12 *
13 * The Evil library is an evil library that ports some evil Unix
14 * functions to the Windows (XP or above, or Mobile) platform. The
15 * evilness is so huge that the most of the functions are not POSIX or
16 * BSD compliant.
17 *
18 * These functions are intended to be used in the Enlightenment
19 * Foundation Libraries only and can be compiled only on Windows,
20 * using MSYS/MinGW on Windows, and cross-compilation on Unix. This
21 * library is minimal in the sense that only the functions needed to
22 * compile the EFL are available. The purpose of this library is NOT
23 * to have a full POSIX emulation et it is NOT a replacement of
24 * cygwin. To compare the size of the DLL themselves, Evil is around
25 * 33 KB and cygwin DLL is around 800 KB.
26 *
27 * @section acknowledgments_sec Acknowledgments
28 *
29 * This library has receive some from people interested in the EFL or
30 * not. Among them, evil thanks to Lars Munch, Raoul Hecky, Nicolas
31 * Aguirre, Tor Lillqvist, Lance Fetters, Vincent Richomme, Paul
32 * Vixie, Daniel Stenberg, who helped the author of the library in
33 * different fields (code and tests).
34 *
35 * @section license_sec license
36 *
37 * The Evil library is distributes under a modified BSD license. See
38 * the files COPYING and COPYING-PLAIN in the top level directory for
39 * the full license text.
40 *
41 * @section reference_sec Reference API
42 *
43 * Use the horizontal menu above to navigate into the reference API
44 */
45
46/**
47 * @file Evil.h
48 * @brief The file that provides miscellaneous functions ported from Unix.
49 * @defgroup Evil Miscellaneous functions ported from Unix.
50 *
51 * This header provides miscellaneous functions that exist on Unix
52 * but not on Windows platform. They try to follow the conformance of
53 * the Unix versions.
54 */
55
56/**
57 * @cond LOCAL
58 */
59
60#ifdef __cplusplus
61extern "C" {
62#endif
63
64
65#ifndef WIN32_LEAN_AND_MEAN
66# define WIN32_LEAN_AND_MEAN
67#endif
68#include <windows.h>
69#undef WIN32_LEAN_AND_MEAN
70
71#include <stdlib.h>
72#include <stdio.h>
73#include <time.h>
74#include <limits.h>
75#include <sys/stat.h>
76#include <fcntl.h>
77#include <math.h>
78#include <direct.h>
79
80
81#ifdef _MSC_VER
82
83# include <io.h>
84
85# define F_OK 0 /* Check for file existence */
86# define X_OK 1 /* MS access() doesn't check for execute permission. */
87# define W_OK 2 /* Check for write permission */
88# define R_OK 4 /* Check for read permission */
89
90typedef DWORD pid_t;
91typedef unsigned short mode_t;
92
93typedef unsigned short uint16_t;
94typedef unsigned int uint32_t;
95typedef signed int int32_t;
96typedef __int64 int64_t;
97typedef unsigned __int64 uint64_t;
98typedef SSIZE_T ssize_t;
99
100# define strdup(s) _strdup(s)
101# define unlink(filename) _unlink(filename)
102# define fileno(f) _fileno(f)
103# define fdopen(fd,m) _fdopen((fd),(m))
104# define access(p,m) _access((p),(m))
105# define hypot(x,y) _hypot((x),(y))
106# define tzset _tzset
107
108#endif /* _MSC_VER */
109
110#ifdef _WIN32_WCE
111# ifndef offsetof
112# define offsetof(type, ident) ((size_t)&(((type*)0)->ident))
113# endif
114#endif
115
116typedef unsigned long uid_t;
117typedef unsigned long gid_t;
118
119
120#include "evil_macro.h"
121#include "evil_fcntl.h"
122#include "evil_inet.h"
123#include "evil_langinfo.h"
124#include "evil_libgen.h"
125#include "evil_main.h"
126#include "evil_print.h"
127#include "evil_stdlib.h"
128#include "evil_stdio.h"
129#include "evil_string.h"
130#include "evil_time.h"
131#include "evil_unistd.h"
132#include "evil_util.h"
133#include "evil_macro_pop.h"
134
135
136#if (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__))
137# if defined(_MSC_VER) || defined(__MINGW32__)
138
139# ifdef S_ISDIR
140# undef S_ISDIR
141# endif
142# ifdef S_ISREG
143# undef S_ISREG
144# endif
145# define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
146# define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
147
148# define S_ISLNK(m) 0
149
150# define S_IRUSR _S_IRUSR
151# define S_IWUSR _S_IWUSR
152# define S_IXUSR _S_IXUSR
153# define S_IRGRP S_IRUSR
154# define S_IROTH S_IRUSR
155# define S_IWGRP S_IWUSR
156# define S_IWOTH S_IWUSR
157# define S_IXGRP S_IXUSR
158# define S_IXOTH S_IXUSR
159
160# define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
161# define _S_IXUSR _S_IEXEC
162# define _S_IWUSR _S_IWRITE
163# define _S_IRUSR _S_IREAD
164
165# define mkdir(p,m) _mkdir(p)
166 /*
167# define close(fd) _close(fd)
168# define read(fd,buffer,count) _read((fd),(buffer),(count))
169# define write(fd,buffer,count) _write((fd),(buffer),(count))
170# define unlink(filename) _unlink((filename))
171# define lstat(f,s) _stat((f),(s))
172 */
173
174# endif
175#endif
176
177
178#ifdef __cplusplus
179}
180#endif
181
182/**
183 * @endcond
184 */
185
186#endif /* __EVIL_H__ */
diff --git a/legacy/evil/src/lib/Makefile.am b/legacy/evil/src/lib/Makefile.am
deleted file mode 100644
index 62d0d56bf3..0000000000
--- a/legacy/evil/src/lib/Makefile.am
+++ /dev/null
@@ -1,132 +0,0 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4lib_LTLIBRARIES = libevil.la libdl.la
5
6install_evilheadersdir = $(includedir)/evil-@VMAJ@
7dist_install_evilheaders_DATA = \
8Evil.h \
9evil_fcntl.h \
10evil_inet.h \
11evil_langinfo.h \
12evil_libgen.h \
13evil_macro.h \
14evil_macro_pop.h \
15evil_main.h \
16evil_print.h \
17evil_stdlib.h \
18evil_stdio.h \
19evil_string.h \
20evil_time.h \
21evil_unistd.h \
22evil_util.h
23
24stdheadersdir = $(includedir)/evil-@VMAJ@
25nobase_dist_stdheaders_DATA = pwd.h sys/mman.h fnmatch.h dirent.h dlfcn.h
26
27if EVIL_HAVE_WINCE
28
29nobase_dist_stdheaders_DATA += mingw32ce/errno.h
30
31endif
32
33# gdtoa
34libevil_la_SOURCES = \
35gdtoa/arithchk.c \
36gdtoa/dmisc.c \
37gdtoa/dtoa.c \
38gdtoa/gd_arith.h \
39gdtoa/g_dfmt.c \
40gdtoa/gd_qnan.h \
41gdtoa/gdtoa.c \
42gdtoa/gdtoa_fltrnds.h \
43gdtoa/gdtoa.h \
44gdtoa/gdtoaimp.h \
45gdtoa/gethex.c \
46gdtoa/g_ffmt.c \
47gdtoa/g__fmt.c \
48gdtoa/gmisc.c \
49gdtoa/g_xfmt.c \
50gdtoa/hd_init.c \
51gdtoa/hexnan.c \
52gdtoa/misc.c \
53gdtoa/qnan.c \
54gdtoa/smisc.c \
55gdtoa/strtodg.c \
56gdtoa/strtof.c \
57gdtoa/strtopx.c \
58gdtoa/sum.c \
59gdtoa/ulp.c
60
61#evil
62libevil_la_SOURCES += \
63evil_dirent.c \
64evil_fcntl.c \
65evil_fnmatch.c \
66evil_fnmatch_list_of_states.c \
67evil_inet.c \
68evil_langinfo.c \
69evil_libgen.c \
70evil_main.c \
71evil_mman.c \
72evil_pformata.c \
73evil_pformatw.c \
74evil_printa.c \
75evil_printw.c \
76evil_pwd.c \
77evil_stdlib.c \
78evil_stdio.c \
79evil_string.c \
80evil_time.c \
81evil_unistd.c \
82evil_util.c \