Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: third_party/libxml/src/xmlmodule.c

Issue 1193533007: Upgrade to libxml 2.9.2 and libxslt 1.1.28 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: no iconv Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libxml/src/xmlmemory.c ('k') | third_party/libxml/src/xmlreader.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * xmlmodule.c : basic API for dynamic module loading added 2.6.17 2 * xmlmodule.c : basic API for dynamic module loading added 2.6.17
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 * http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html 8 * http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
9 */ 9 */
10 10
(...skipping 12 matching lines...) Expand all
23 unsigned char *name; 23 unsigned char *name;
24 void *handle; 24 void *handle;
25 }; 25 };
26 26
27 static void *xmlModulePlatformOpen(const char *name); 27 static void *xmlModulePlatformOpen(const char *name);
28 static int xmlModulePlatformClose(void *handle); 28 static int xmlModulePlatformClose(void *handle);
29 static int xmlModulePlatformSymbol(void *handle, const char *name, void **result ); 29 static int xmlModulePlatformSymbol(void *handle, const char *name, void **result );
30 30
31 /************************************************************************ 31 /************************************************************************
32 * * 32 * *
33 * » » module memory error handler» » » » * 33 *» » module memory error handler» » » » *
34 * * 34 * *
35 ************************************************************************/ 35 ************************************************************************/
36 36
37 /** 37 /**
38 * xmlModuleErrMemory: 38 * xmlModuleErrMemory:
39 * @extra: extra information 39 * @extra: extra information
40 * 40 *
41 * Handle an out of memory condition 41 * Handle an out of memory condition
42 */ 42 */
43 static void 43 static void
(...skipping 10 matching lines...) Expand all
54 name, NULL, 0, 0, 54 name, NULL, 0, 0,
55 "Memory allocation failed : %s\n", extra); 55 "Memory allocation failed : %s\n", extra);
56 } 56 }
57 57
58 /** 58 /**
59 * xmlModuleOpen: 59 * xmlModuleOpen:
60 * @name: the module name 60 * @name: the module name
61 * @options: a set of xmlModuleOption 61 * @options: a set of xmlModuleOption
62 * 62 *
63 * Opens a module/shared library given its name or path 63 * Opens a module/shared library given its name or path
64 * NOTE: that due to portability issues, behaviour can only be
65 * guaranteed with @name using ASCII. We canot guarantee that
66 * an UTF-8 string would work, which is why name is a const char *
67 * and not a const xmlChar * .
64 * TODO: options are not yet implemented. 68 * TODO: options are not yet implemented.
65 * 69 *
66 * Returns a handle for the module or NULL in case of error 70 * Returns a handle for the module or NULL in case of error
67 */ 71 */
68 xmlModulePtr 72 xmlModulePtr
69 xmlModuleOpen(const char *name, int options ATTRIBUTE_UNUSED) 73 xmlModuleOpen(const char *name, int options ATTRIBUTE_UNUSED)
70 { 74 {
71 xmlModulePtr module; 75 xmlModulePtr module;
72 76
73 module = (xmlModulePtr) xmlMalloc(sizeof(xmlModule)); 77 module = (xmlModulePtr) xmlMalloc(sizeof(xmlModule));
(...skipping 18 matching lines...) Expand all
92 return (module); 96 return (module);
93 } 97 }
94 98
95 /** 99 /**
96 * xmlModuleSymbol: 100 * xmlModuleSymbol:
97 * @module: the module 101 * @module: the module
98 * @name: the name of the symbol 102 * @name: the name of the symbol
99 * @symbol: the resulting symbol address 103 * @symbol: the resulting symbol address
100 * 104 *
101 * Lookup for a symbol address in the given module 105 * Lookup for a symbol address in the given module
106 * NOTE: that due to portability issues, behaviour can only be
107 * guaranteed with @name using ASCII. We canot guarantee that
108 * an UTF-8 string would work, which is why name is a const char *
109 * and not a const xmlChar * .
102 * 110 *
103 * Returns 0 if the symbol was found, or -1 in case of error 111 * Returns 0 if the symbol was found, or -1 in case of error
104 */ 112 */
105 int 113 int
106 xmlModuleSymbol(xmlModulePtr module, const char *name, void **symbol) 114 xmlModuleSymbol(xmlModulePtr module, const char *name, void **symbol)
107 { 115 {
108 int rc = -1; 116 int rc = -1;
109 » 117
110 if ((NULL == module) || (symbol == NULL)) { 118 if ((NULL == module) || (symbol == NULL) || (name == NULL)) {
111 __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE, 119 __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
112 XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0, 120 XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0,
113 NULL, NULL, 0, 0, "null parameter\n"); 121 NULL, NULL, 0, 0, "null parameter\n");
114 return rc; 122 return rc;
115 } 123 }
116 124
117 rc = xmlModulePlatformSymbol(module->handle, name, symbol); 125 rc = xmlModulePlatformSymbol(module->handle, name, symbol);
118 126
119 if (rc == -1) { 127 if (rc == -1) {
120 __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE, 128 __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 327
320 /* 328 /*
321 * xmlModulePlatformSymbol: 329 * xmlModulePlatformSymbol:
322 * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base /getprocaddress.asp 330 * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base /getprocaddress.asp
323 * returns 0 on success and the loaded symbol in result, and -1 on error. 331 * returns 0 on success and the loaded symbol in result, and -1 on error.
324 */ 332 */
325 333
326 static int 334 static int
327 xmlModulePlatformSymbol(void *handle, const char *name, void **symbol) 335 xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
328 { 336 {
337 #ifdef _WIN32_WCE
338 /*
339 * GetProcAddressA seems only available on WinCE
340 */
341 *symbol = GetProcAddressA(handle, name);
342 #else
329 *symbol = GetProcAddress(handle, name); 343 *symbol = GetProcAddress(handle, name);
344 #endif
330 return (NULL == *symbol) ? -1 : 0; 345 return (NULL == *symbol) ? -1 : 0;
331 } 346 }
332 347
333 #endif /* _WIN32 */ 348 #endif /* _WIN32 */
334 349
335 #ifdef HAVE_BEOS 350 #ifdef HAVE_BEOS
336 351
337 #include <kernel/image.h> 352 #include <kernel/image.h>
338 353
339 /* 354 /*
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 rc = DosQueryProcAddr(handle, 0, name, symbol); 451 rc = DosQueryProcAddr(handle, 0, name, symbol);
437 452
438 return (rc == NO_ERROR) ? 0 : -1; 453 return (rc == NO_ERROR) ? 0 : -1;
439 } 454 }
440 455
441 #endif /* HAVE_OS2 */ 456 #endif /* HAVE_OS2 */
442 457
443 #define bottom_xmlmodule 458 #define bottom_xmlmodule
444 #include "elfgcchack.h" 459 #include "elfgcchack.h"
445 #endif /* LIBXML_MODULES_ENABLED */ 460 #endif /* LIBXML_MODULES_ENABLED */
OLDNEW
« no previous file with comments | « third_party/libxml/src/xmlmemory.c ('k') | third_party/libxml/src/xmlreader.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698