diff options
Diffstat (limited to 'include/libxml/hash.h')
| -rw-r--r-- | include/libxml/hash.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/libxml/hash.h b/include/libxml/hash.h index b2f7b41..7fe4be7 100644 --- a/include/libxml/hash.h +++ b/include/libxml/hash.h @@ -27,6 +27,7 @@ typedef xmlHashTable *xmlHashTablePtr; #include <libxml/xmlversion.h> #include <libxml/parser.h> +#include <libxml/dict.h> #ifdef __cplusplus extern "C" { @@ -47,8 +48,13 @@ extern "C" { * function pointer without encountering a warning from * gcc * + * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) + * This macro violated ISO C aliasing rules (gcc4 on s390 broke) + * so it is disabled now */ -#define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) + +#define XML_CAST_FPTR(fptr) fptr + /* * function types: @@ -99,6 +105,9 @@ typedef void (*xmlHashScannerFull)(void *payload, void *data, */ XMLPUBFUN xmlHashTablePtr XMLCALL xmlHashCreate (int size); +XMLPUBFUN xmlHashTablePtr XMLCALL + xmlHashCreateDict(int size, + xmlDictPtr dict); XMLPUBFUN void XMLCALL xmlHashFree (xmlHashTablePtr table, xmlHashDeallocator f); |
