OLD | NEW |
1 /* | 1 /* |
2 * testModule.c : a small tester program for xmlModule | 2 * testModule.c : a small tester program for xmlModule |
3 * | 3 * |
4 * See Copyright for the status of this software. | 4 * See Copyright for the status of this software. |
5 * | 5 * |
6 * joelwreed@comcast.net | 6 * joelwreed@comcast.net |
7 */ | 7 */ |
8 | 8 |
9 #include "libxml.h" | 9 #include "libxml.h" |
10 #ifdef LIBXML_MODULES_ENABLED | 10 #ifdef LIBXML_MODULES_ENABLED |
(...skipping 21 matching lines...) Expand all Loading... |
32 /* Used for SCO Openserver*/ | 32 /* Used for SCO Openserver*/ |
33 #ifndef PATH_MAX | 33 #ifndef PATH_MAX |
34 #ifdef _POSIX_PATH_MAX | 34 #ifdef _POSIX_PATH_MAX |
35 #define PATH_MAX _POSIX_PATH_MAX | 35 #define PATH_MAX _POSIX_PATH_MAX |
36 #else | 36 #else |
37 #define PATH_MAX 4096 | 37 #define PATH_MAX 4096 |
38 #endif | 38 #endif |
39 #endif | 39 #endif |
40 | 40 |
41 typedef int (*hello_world_t)(void); | 41 typedef int (*hello_world_t)(void); |
42 | 42 |
43 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { | 43 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { |
44 xmlChar filename[PATH_MAX]; | 44 xmlChar filename[PATH_MAX]; |
45 xmlModulePtr module = NULL; | 45 xmlModulePtr module = NULL; |
46 hello_world_t hello_world = NULL; | 46 hello_world_t hello_world = NULL; |
47 | 47 |
48 /* build the module filename, and confirm the module exists */ | 48 /* build the module filename, and confirm the module exists */ |
49 xmlStrPrintf(filename, sizeof(filename), | 49 xmlStrPrintf(filename, sizeof(filename), |
50 (const xmlChar*) "%s/testdso%s", | 50 (const xmlChar*) "%s/testdso%s", |
51 (const xmlChar*)MODULE_PATH, | 51 (const xmlChar*)MODULE_PATH, |
52 (const xmlChar*)LIBXML_MODULE_EXTENSION); | 52 (const xmlChar*)LIBXML_MODULE_EXTENSION); |
53 | 53 |
54 module = xmlModuleOpen((const char*)filename, 0); | 54 module = xmlModuleOpen((const char*)filename, 0); |
55 if (module) | 55 if (module) |
56 { | 56 { |
57 if (xmlModuleSymbol(module, "hello_world", (void **) &hello_world)) { | 57 if (xmlModuleSymbol(module, "hello_world", (void **) &hello_world)) { |
58 fprintf(stderr, "Failure to lookup\n"); | 58 fprintf(stderr, "Failure to lookup\n"); |
59 return(1); | 59 return(1); |
60 } | 60 } |
61 if (hello_world == NULL) { | 61 if (hello_world == NULL) { |
62 fprintf(stderr, "Lookup returned NULL\n"); | 62 fprintf(stderr, "Lookup returned NULL\n"); |
63 return(1); | 63 return(1); |
64 } | 64 } |
65 » | 65 |
66 (*hello_world)(); | 66 (*hello_world)(); |
67 | 67 |
68 xmlModuleClose(module); | 68 xmlModuleClose(module); |
69 } | 69 } |
70 | 70 |
71 xmlMemoryDump(); | 71 xmlMemoryDump(); |
72 | 72 |
73 return(0); | 73 return(0); |
74 } | 74 } |
75 | 75 |
76 #else | 76 #else |
77 #include <stdio.h> | 77 #include <stdio.h> |
78 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { | 78 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { |
79 printf("%s : Module support not compiled in\n", argv[0]); | 79 printf("%s : Module support not compiled in\n", argv[0]); |
80 return(0); | 80 return(0); |
81 } | 81 } |
82 #endif /* LIBXML_SCHEMAS_ENABLED */ | 82 #endif /* LIBXML_SCHEMAS_ENABLED */ |
OLD | NEW |