diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2020-08-25 23:34:19 +0200 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2020-09-14 12:26:07 +0200 |
commit | f0ac8495872ee078f18bd349e3db6883ed4106e2 (patch) | |
tree | 0f9b609aa80b924f6b391e1c4b687c0f73eaa7b9 /testdll2.c | |
parent | 5ead6f2d2c515d3d85c31fffebea55168c1bc1b4 (diff) | |
download | dlfcn-win32-f0ac8495872ee078f18bd349e3db6883ed4106e2.tar.gz dlfcn-win32-f0ac8495872ee078f18bd349e3db6883ed4106e2.tar.bz2 dlfcn-win32-f0ac8495872ee078f18bd349e3db6883ed4106e2.zip |
Move cmake targets into sub directories
Diffstat (limited to 'testdll2.c')
-rw-r--r-- | testdll2.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/testdll2.c b/testdll2.c deleted file mode 100644 index 1560738..0000000 --- a/testdll2.c +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | /* | ||
2 | * dlfcn-win32 | ||
3 | * Copyright (c) 2007 Ramiro Polla | ||
4 | * Copyright (c) 2019 Pali Rohár <pali.rohar@gmail.com> | ||
5 | * | ||
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy | ||
7 | * of this software and associated documentation files (the "Software"), to deal | ||
8 | * in the Software without restriction, including without limitation the rights | ||
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
10 | * copies of the Software, and to permit persons to whom the Software is | ||
11 | * furnished to do so, subject to the following conditions: | ||
12 | * | ||
13 | * The above copyright notice and this permission notice shall be included in | ||
14 | * all copies or substantial portions of the Software. | ||
15 | * | ||
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
22 | * THE SOFTWARE. | ||
23 | */ | ||
24 | |||
25 | #ifdef _DEBUG | ||
26 | #define _CRTDBG_MAP_ALLOC | ||
27 | #include <stdlib.h> | ||
28 | #include <crtdbg.h> | ||
29 | #endif | ||
30 | #include <stdio.h> | ||
31 | |||
32 | #include "dlfcn.h" | ||
33 | |||
34 | #if defined(_WIN32) | ||
35 | #define EXPORT __declspec(dllexport) | ||
36 | #else | ||
37 | #define EXPORT | ||
38 | #endif | ||
39 | |||
40 | EXPORT int function2( void ) | ||
41 | { | ||
42 | char *error; | ||
43 | int (*function2_orig)(void); | ||
44 | printf( "Hello, world! from wrapper library\n" ); | ||
45 | *(void **) (&function2_orig) = dlsym( RTLD_NEXT, "function2" ); | ||
46 | if (!function2_orig) | ||
47 | { | ||
48 | error = dlerror( ); | ||
49 | printf( "ERROR\tCould not get symbol from RTLD_NEXT handle: %s\n", | ||
50 | error ? error : "" ); | ||
51 | return 1; | ||
52 | } | ||
53 | if (function2_orig() != 0) | ||
54 | { | ||
55 | printf( "ERROR\tOriginal function from RTLD_NEXT handle did not return correct value\n" ); | ||
56 | return 1; | ||
57 | } | ||
58 | return 2; | ||
59 | } | ||