huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/**
***     Transcoding support declarations.
***
***     See Copyright for the status of this software.
***
***     Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
**/
 
#ifndef _TRANSCODE_H_
#define _TRANSCODE_H_
 
#include <stdarg.h>
#include <libxml/dict.h>
 
 
XMLPUBFUN void          xmlZapDict(xmlDictPtr * dict);
XMLPUBFUN const char *  xmlTranscodeResult(const xmlChar * s,
        const char * encoding, xmlDictPtr * dict,
        void (*freeproc)(const void *));
XMLPUBFUN const xmlChar * xmlTranscodeString(const char * s,
        const char * encoding, xmlDictPtr * dict);
XMLPUBFUN const xmlChar * xmlTranscodeWString(const char * s,
        const char * encoding, xmlDictPtr * dict);
XMLPUBFUN const xmlChar * xmlTranscodeHString(const char * s,
        const char * encoding, xmlDictPtr * dict);
 
#ifndef XML_NO_SHORT_NAMES
/**
***     Since the above functions are generally called "inline" (i.e.: several
***             times nested in a single expression), define shorthand names
***             to minimize calling statement length.
**/
 
#define xmlTR   xmlTranscodeResult
#define xmlTS   xmlTranscodeString
#define xmlTW   xmlTranscodeWString
#define xmlTH   xmlTranscodeHstring
#endif
 
XMLPUBFUN const char *  xmlVasprintf(xmlDictPtr * dict, const char * encoding,
        const xmlChar * fmt, va_list args);
 
#endif