annotate test/suite2_x86win32std/main.cc @ 663:127b569978cc default tip

- another tweak handling clang trying to be too smart (see last commit)
author Tassilo Philipp
date Sun, 24 Mar 2024 13:52:44 +0100
parents 85b7a117b807
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 /*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 Package: dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 Library: test
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 File: test/suite2_x86win32std/main.cc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 Description:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 License:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8
606
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
9 Copyright (c) 2007-2022 Daniel Adler <dadler@uni-goettingen.de>,
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 Tassilo Philipp <tphilipp@potion-studios.com>
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 Permission to use, copy, modify, and distribute this software for any
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 purpose with or without fee is hereby granted, provided that the above
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 copyright notice and this permission notice appear in all copies.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 #include "../../dyncall/dyncall.h"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 #include "config.h"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 #include "../../dyncall/dyncall_value.h"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 #include "funcinfo.h"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 #include <stdlib.h>
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 #include "../common/platformInit.h"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 #include "../common/platformInit.c" /* Impl. for functions only used in this translation unit */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 int getId();
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 DCpointer getFunc(int x);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 DCValue* getArg(int pos);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41
606
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
42 static DCbool valueBool [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
43 static DCchar valueChar [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
44 static DCshort valueShort [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
45 static DCint valueInt [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
46 static DClong valueLong [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
47 static DClonglong valueLongLong[MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
48 static DCdouble valueDouble [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
49 static DCpointer valuePointer [MAXARGS];
85b7a117b807 - more statics in test code (this is partly needed on an experimental freebsd sparc64 build where the elf cleanup code crashes for some reason ... it's probably that experimental build, but a good change to do regardless)
Tassilo Philipp
parents: 605
diff changeset
50 static DCfloat valueFloat [MAXARGS];
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 void clearValues();
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 void init()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 for (int i = 0 ; i < MAXARGS ; ++i ) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 valueBool[i] = DCbool( (i % 1) ? DC_TRUE : DC_FALSE );
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 valueChar[i] = DCchar(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 valueShort[i] = DCshort(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 valueInt[i] = DCint(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 valueLong[i] = DClong(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 valueLongLong[i] = DClonglong(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 valueDouble[i] = DCdouble(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 valuePointer[i] = DCpointer(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 valueFloat[i] = DCfloat(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72 bool test(int x)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 bool r = true;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 clearValues();
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 DCCallVM* pCall;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 funcinfo* fi = &gFuncInfos[x];
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 const DCsigchar* sig = &fi->sig[2];
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 const DCsigchar* ptr = sig;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 DCsigchar ch;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 int pos;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 pos = 0;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 pCall = dcNewCallVM(4096);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 dcMode(pCall, DC_CALL_C_X86_WIN32_STD);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 dcReset(pCall);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92 while ( (ch=*ptr++) != '\0' ) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93 switch(ch) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
94 case DC_SIGCHAR_BOOL: dcArgBool( pCall, valueBool[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
95 case DC_SIGCHAR_CHAR: dcArgChar( pCall, valueChar[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
96 case DC_SIGCHAR_SHORT: dcArgShort( pCall, valueShort[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
97 case DC_SIGCHAR_INT: dcArgInt( pCall, valueInt[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
98 case DC_SIGCHAR_LONG: dcArgLong( pCall, valueLong[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99 case DC_SIGCHAR_LONGLONG: dcArgLongLong( pCall, valueLongLong[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
100 case DC_SIGCHAR_FLOAT: dcArgFloat( pCall, valueFloat[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
101 case DC_SIGCHAR_DOUBLE: dcArgDouble( pCall, valueDouble[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
102 case DC_SIGCHAR_POINTER: dcArgPointer( pCall, valuePointer[pos] ); break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
103 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
104 ++pos;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
105 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
106
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
107 dcCallVoid( pCall, fi->funcptr );
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
108
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110 if ( getId() == x ) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
112 ptr = sig;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
113 pos = 0;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
114 while( ( ch=*ptr++ ) != '\0' ) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
115
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
116 switch(ch) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
117 case DC_SIGCHAR_BOOL: if ( getArg(pos)->B != valueBool [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
118 case DC_SIGCHAR_CHAR: if ( getArg(pos)->c != valueChar [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
119 case DC_SIGCHAR_SHORT: if ( getArg(pos)->s != valueShort [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
120 case DC_SIGCHAR_INT: if ( getArg(pos)->i != valueInt [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
121 case DC_SIGCHAR_LONG: if ( getArg(pos)->l != valueLong [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122 case DC_SIGCHAR_LONGLONG: if ( getArg(pos)->L != valueLongLong [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123 case DC_SIGCHAR_FLOAT: if ( getArg(pos)->f != valueFloat [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124 case DC_SIGCHAR_DOUBLE: if ( getArg(pos)->d != valueDouble[pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125 case DC_SIGCHAR_POINTER: if ( getArg(pos)->p != valuePointer [pos] ) r = false; break;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
127 ++pos;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
128 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
129
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
130 } else {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
131 r = false;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
132 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
133
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
134 printf("%d-%s:%d\n", x, sig, r);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
135
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
136 dcFree(pCall);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
137
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
138 return r;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
139 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
140
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
141
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
142 bool run_range(int from, int to)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
143 {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
144 bool r = true;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
145 for (int i = from ; i < to ; ++i )
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
146 r &= test(i);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
147 return r;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
148 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
149
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
150 extern "C" {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
151
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
152 int main(int argc, char* argv[])
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
153 {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
154 dcTest_initPlatform();
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
155
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
156 bool success = false;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
157 init();
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
158 if (argc == 2) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
159 int index = atoi(argv[1]);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
160 success = run_range( index, index+1 );
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
161 } else if (argc == 3) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
162 int from = atoi(argv[1]);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
163 int to = atoi(argv[2])+1;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
164 success = run_range(from,to);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
165 } else {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
166 success = run_range(0,NCASES);
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
167 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
168
410
7608e34098b0 - cleanups, simplifications, some api clarification, ...
Tassilo Philipp
parents: 281
diff changeset
169 printf("result: suite2_x86win32std: %d\n", success);
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
170
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
171 dcTest_deInitPlatform();
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
172
410
7608e34098b0 - cleanups, simplifications, some api clarification, ...
Tassilo Philipp
parents: 281
diff changeset
173 return !success;
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
174 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
175
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
176 } // extern "C"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
177