update new sdk
This commit is contained in:
parent
f33907443a
commit
744c72c133
1643 changed files with 83006 additions and 28021 deletions
247
android/external/libxml2/xmlIO.c
vendored
247
android/external/libxml2/xmlIO.c
vendored
|
@ -12,6 +12,7 @@
|
|||
#include "libxml.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
#ifdef HAVE_ERRNO_H
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
@ -32,14 +33,15 @@
|
|||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
#include <zlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_LZMA_H
|
||||
#ifdef LIBXML_LZMA_ENABLED
|
||||
#include <lzma.h>
|
||||
#endif
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32)
|
||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
|
@ -47,38 +49,14 @@
|
|||
#include <winnls.h> /* for CP_UTF8 */
|
||||
#endif
|
||||
|
||||
/* Figure a portable way to know if a file is a directory. */
|
||||
#ifndef HAVE_STAT
|
||||
# ifdef HAVE__STAT
|
||||
/* MS C library seems to define stat and _stat. The definition
|
||||
is identical. Still, mapping them to each other causes a warning. */
|
||||
# ifndef _MSC_VER
|
||||
# define stat(x,y) _stat(x,y)
|
||||
# endif
|
||||
# define HAVE_STAT
|
||||
# endif
|
||||
#else
|
||||
# ifdef HAVE__STAT
|
||||
# if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
# define stat _stat
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef HAVE_STAT
|
||||
# ifndef S_ISDIR
|
||||
# ifdef _S_ISDIR
|
||||
# define S_ISDIR(x) _S_ISDIR(x)
|
||||
# else
|
||||
# ifdef S_IFDIR
|
||||
# ifndef S_IFMT
|
||||
# ifdef _S_IFMT
|
||||
# define S_IFMT _S_IFMT
|
||||
# endif
|
||||
# endif
|
||||
# ifdef S_IFMT
|
||||
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
|
||||
# endif
|
||||
# endif
|
||||
#ifndef S_ISDIR
|
||||
# ifdef _S_ISDIR
|
||||
# define S_ISDIR(x) _S_ISDIR(x)
|
||||
# elif defined(S_IFDIR)
|
||||
# ifdef S_IFMT
|
||||
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
|
||||
# elif defined(_S_IFMT)
|
||||
# define S_ISDIR(m) (((m) & _S_IFMT) == S_IFDIR)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
@ -619,7 +597,7 @@ xmlWrapOpenUtf8(const char *path,int mode)
|
|||
return fd;
|
||||
}
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
static gzFile
|
||||
xmlWrapGzOpenUtf8(const char *path, const char *mode)
|
||||
{
|
||||
|
@ -656,99 +634,19 @@ xmlWrapGzOpenUtf8(const char *path, const char *mode)
|
|||
*
|
||||
*/
|
||||
static int
|
||||
xmlWrapStatUtf8(const char *path,struct stat *info)
|
||||
{
|
||||
#ifdef HAVE_STAT
|
||||
xmlWrapStatUtf8(const char *path, struct _stat *info) {
|
||||
int retval = -1;
|
||||
wchar_t *wPath;
|
||||
|
||||
wPath = __xmlIOWin32UTF8ToWChar(path);
|
||||
if (wPath)
|
||||
{
|
||||
retval = _wstat(wPath,info);
|
||||
if (wPath) {
|
||||
retval = _wstat(wPath, info);
|
||||
xmlFree(wPath);
|
||||
}
|
||||
/* maybe path in native encoding */
|
||||
if(retval < 0)
|
||||
retval = stat(path,info);
|
||||
retval = _stat(path, info);
|
||||
return retval;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlWrapOpenNative:
|
||||
* @path: the path
|
||||
* @mode: type of access (0 - read, 1 - write)
|
||||
*
|
||||
* function opens the file specified by @path
|
||||
*
|
||||
*/
|
||||
static FILE*
|
||||
xmlWrapOpenNative(const char *path,int mode)
|
||||
{
|
||||
return fopen(path,mode ? "wb" : "rb");
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlWrapStatNative:
|
||||
* @path: the path
|
||||
* @info: structure that stores results
|
||||
*
|
||||
* function obtains information about the file or directory
|
||||
*
|
||||
*/
|
||||
static int
|
||||
xmlWrapStatNative(const char *path,struct stat *info)
|
||||
{
|
||||
#ifdef HAVE_STAT
|
||||
return stat(path,info);
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
typedef int (* xmlWrapStatFunc) (const char *f, struct stat *s);
|
||||
static xmlWrapStatFunc xmlWrapStat = xmlWrapStatNative;
|
||||
typedef FILE* (* xmlWrapOpenFunc)(const char *f,int mode);
|
||||
static xmlWrapOpenFunc xmlWrapOpen = xmlWrapOpenNative;
|
||||
#ifdef HAVE_ZLIB_H
|
||||
typedef gzFile (* xmlWrapGzOpenFunc) (const char *f, const char *mode);
|
||||
static xmlWrapGzOpenFunc xmlWrapGzOpen = gzopen;
|
||||
#endif
|
||||
/**
|
||||
* xmlInitPlatformSpecificIo:
|
||||
*
|
||||
* Initialize platform specific features.
|
||||
*/
|
||||
static void
|
||||
xmlInitPlatformSpecificIo(void)
|
||||
{
|
||||
static int xmlPlatformIoInitialized = 0;
|
||||
OSVERSIONINFO osvi;
|
||||
|
||||
if(xmlPlatformIoInitialized)
|
||||
return;
|
||||
|
||||
osvi.dwOSVersionInfoSize = sizeof(osvi);
|
||||
|
||||
if(GetVersionEx(&osvi) && (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)) {
|
||||
xmlWrapStat = xmlWrapStatUtf8;
|
||||
xmlWrapOpen = xmlWrapOpenUtf8;
|
||||
#ifdef HAVE_ZLIB_H
|
||||
xmlWrapGzOpen = xmlWrapGzOpenUtf8;
|
||||
#endif
|
||||
} else {
|
||||
xmlWrapStat = xmlWrapStatNative;
|
||||
xmlWrapOpen = xmlWrapOpenNative;
|
||||
#ifdef HAVE_ZLIB_H
|
||||
xmlWrapGzOpen = gzopen;
|
||||
#endif
|
||||
}
|
||||
|
||||
xmlPlatformIoInitialized = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -771,7 +669,11 @@ int
|
|||
xmlCheckFilename (const char *path)
|
||||
{
|
||||
#ifdef HAVE_STAT
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
struct _stat stat_buffer;
|
||||
#else
|
||||
struct stat stat_buffer;
|
||||
#endif
|
||||
#endif
|
||||
if (path == NULL)
|
||||
return(0);
|
||||
|
@ -786,7 +688,7 @@ xmlCheckFilename (const char *path)
|
|||
(path[3] == '\\') )
|
||||
return 1;
|
||||
|
||||
if (xmlWrapStat(path, &stat_buffer) == -1)
|
||||
if (xmlWrapStatUtf8(path, &stat_buffer) == -1)
|
||||
return 0;
|
||||
#else
|
||||
if (stat(path, &stat_buffer) == -1)
|
||||
|
@ -801,14 +703,16 @@ xmlCheckFilename (const char *path)
|
|||
}
|
||||
|
||||
/**
|
||||
* xmlNop:
|
||||
* xmlInputReadCallbackNop:
|
||||
*
|
||||
* No Operation function, does nothing, no input
|
||||
* No Operation xmlInputReadCallback function, does nothing.
|
||||
*
|
||||
* Returns zero
|
||||
*/
|
||||
int
|
||||
xmlNop(void) {
|
||||
xmlInputReadCallbackNop(void *context ATTRIBUTE_UNUSED,
|
||||
char *buffer ATTRIBUTE_UNUSED,
|
||||
int len ATTRIBUTE_UNUSED) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
@ -826,7 +730,7 @@ static int
|
|||
xmlFdRead (void * context, char * buffer, int len) {
|
||||
int ret;
|
||||
|
||||
ret = read((int) (long) context, &buffer[0], len);
|
||||
ret = read((int) (ptrdiff_t) context, &buffer[0], len);
|
||||
if (ret < 0) xmlIOErr(0, "read()");
|
||||
return(ret);
|
||||
}
|
||||
|
@ -847,7 +751,7 @@ xmlFdWrite (void * context, const char * buffer, int len) {
|
|||
int ret = 0;
|
||||
|
||||
if (len > 0) {
|
||||
ret = write((int) (long) context, &buffer[0], len);
|
||||
ret = write((int) (ptrdiff_t) context, &buffer[0], len);
|
||||
if (ret < 0) xmlIOErr(0, "write()");
|
||||
}
|
||||
return(ret);
|
||||
|
@ -865,7 +769,7 @@ xmlFdWrite (void * context, const char * buffer, int len) {
|
|||
static int
|
||||
xmlFdClose (void * context) {
|
||||
int ret;
|
||||
ret = close((int) (long) context);
|
||||
ret = close((int) (ptrdiff_t) context);
|
||||
if (ret < 0) xmlIOErr(0, "close()");
|
||||
return(ret);
|
||||
}
|
||||
|
@ -926,11 +830,14 @@ xmlFileOpen_real (const char *filename) {
|
|||
#endif
|
||||
}
|
||||
|
||||
/* Do not check DDNAME on zOS ! */
|
||||
#if !defined(__MVS__)
|
||||
if (!xmlCheckFilename(path))
|
||||
return(NULL);
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
fd = xmlWrapOpen(path, 0);
|
||||
fd = xmlWrapOpenUtf8(path, 0);
|
||||
#else
|
||||
fd = fopen(path, "r");
|
||||
#endif /* WIN32 */
|
||||
|
@ -1003,12 +910,14 @@ xmlFileOpenW (const char *filename) {
|
|||
return(NULL);
|
||||
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
fd = xmlWrapOpen(path, 1);
|
||||
fd = xmlWrapOpenUtf8(path, 1);
|
||||
#elif(__MVS__)
|
||||
fd = fopen(path, "w");
|
||||
#else
|
||||
fd = fopen(path, "wb");
|
||||
fd = fopen(path, "wb");
|
||||
#endif /* WIN32 */
|
||||
|
||||
if (fd == NULL) xmlIOErr(0, path);
|
||||
if (fd == NULL) xmlIOErr(0, path);
|
||||
return((void *) fd);
|
||||
}
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
|
@ -1129,7 +1038,7 @@ xmlBufferWrite (void * context, const char * buffer, int len) {
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
/************************************************************************
|
||||
* *
|
||||
* I/O for compressed file accesses *
|
||||
|
@ -1193,7 +1102,7 @@ xmlGzfileOpen_real (const char *filename) {
|
|||
return(NULL);
|
||||
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
fd = xmlWrapGzOpen(path, "rb");
|
||||
fd = xmlWrapGzOpenUtf8(path, "rb");
|
||||
#else
|
||||
fd = gzopen(path, "rb");
|
||||
#endif
|
||||
|
@ -1270,7 +1179,7 @@ xmlGzfileOpenW (const char *filename, int compression) {
|
|||
return(NULL);
|
||||
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
fd = xmlWrapGzOpen(path, mode);
|
||||
fd = xmlWrapGzOpenUtf8(path, mode);
|
||||
#else
|
||||
fd = gzopen(path, mode);
|
||||
#endif
|
||||
|
@ -1286,7 +1195,7 @@ xmlGzfileOpenW (const char *filename, int compression) {
|
|||
*
|
||||
* Read @len bytes to @buffer from the compressed I/O channel.
|
||||
*
|
||||
* Returns the number of bytes written
|
||||
* Returns the number of bytes read.
|
||||
*/
|
||||
static int
|
||||
xmlGzfileRead (void * context, char * buffer, int len) {
|
||||
|
@ -1332,7 +1241,7 @@ xmlGzfileClose (void * context) {
|
|||
if (ret < 0) xmlIOErr(0, "gzclose()");
|
||||
return(ret);
|
||||
}
|
||||
#endif /* HAVE_ZLIB_H */
|
||||
#endif /* LIBXML_ZLIB_ENABLED */
|
||||
|
||||
#ifdef LIBXML_LZMA_ENABLED
|
||||
/************************************************************************
|
||||
|
@ -1471,7 +1380,7 @@ typedef struct xmlIOHTTPWriteCtxt_
|
|||
|
||||
} xmlIOHTTPWriteCtxt, *xmlIOHTTPWriteCtxtPtr;
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
|
||||
#define DFLT_WBITS ( -15 )
|
||||
#define DFLT_MEM_LVL ( 8 )
|
||||
|
@ -1674,7 +1583,7 @@ xmlZMemBuffExtend( xmlZMemBuffPtr buff, size_t ext_amt ) {
|
|||
xmlStrPrintf(msg, 500,
|
||||
"xmlZMemBuffExtend: %s %lu bytes.\n",
|
||||
"Allocation failure extending output buffer to",
|
||||
new_size );
|
||||
(unsigned long) new_size );
|
||||
xmlIOErr(XML_IO_WRITE, (const char *) msg);
|
||||
}
|
||||
|
||||
|
@ -1799,7 +1708,7 @@ xmlZMemBuffGetContent( xmlZMemBuffPtr buff, char ** data_ref ) {
|
|||
return ( zlgth );
|
||||
}
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
#endif /* HAVE_ZLIB_H */
|
||||
#endif /* LIBXML_ZLIB_ENABLED */
|
||||
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
/**
|
||||
|
@ -1818,7 +1727,7 @@ xmlFreeHTTPWriteCtxt( xmlIOHTTPWriteCtxtPtr ctxt )
|
|||
|
||||
if ( ctxt->doc_buff != NULL ) {
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ( ctxt->compression > 0 ) {
|
||||
xmlFreeZMemBuff( ctxt->doc_buff );
|
||||
}
|
||||
|
@ -1876,7 +1785,7 @@ xmlIOHTTPOpen (const char *filename) {
|
|||
*/
|
||||
|
||||
void *
|
||||
xmlIOHTTPOpenW(const char *post_uri, int compression)
|
||||
xmlIOHTTPOpenW(const char *post_uri, int compression ATTRIBUTE_UNUSED)
|
||||
{
|
||||
|
||||
xmlIOHTTPWriteCtxtPtr ctxt = NULL;
|
||||
|
@ -1905,7 +1814,7 @@ xmlIOHTTPOpenW(const char *post_uri, int compression)
|
|||
* ** is being used to avoid pushing the data to disk and back.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ((compression > 0) && (compression <= 9)) {
|
||||
|
||||
ctxt->compression = compression;
|
||||
|
@ -1985,7 +1894,7 @@ xmlIOHTTPWrite( void * context, const char * buffer, int len ) {
|
|||
|
||||
/* Use gzwrite or fwrite as previously setup in the open call */
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ( ctxt->compression > 0 )
|
||||
len = xmlZMemBuffAppend( ctxt->doc_buff, buffer, len );
|
||||
|
||||
|
@ -2049,7 +1958,7 @@ xmlIOHTTPCloseWrite( void * context, const char * http_mthd ) {
|
|||
|
||||
/* Retrieve the content from the appropriate buffer */
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
|
||||
if ( ctxt->compression > 0 ) {
|
||||
content_lgth = xmlZMemBuffGetContent( ctxt->doc_buff, &http_content );
|
||||
|
@ -2318,16 +2227,12 @@ xmlRegisterDefaultInputCallbacks(void) {
|
|||
if (xmlInputCallbackInitialized)
|
||||
return;
|
||||
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
xmlInitPlatformSpecificIo();
|
||||
#endif
|
||||
|
||||
xmlRegisterInputCallbacks(xmlFileMatch, xmlFileOpen,
|
||||
xmlFileRead, xmlFileClose);
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
xmlRegisterInputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
|
||||
xmlGzfileRead, xmlGzfileClose);
|
||||
#endif /* HAVE_ZLIB_H */
|
||||
#endif /* LIBXML_ZLIB_ENABLED */
|
||||
#ifdef LIBXML_LZMA_ENABLED
|
||||
xmlRegisterInputCallbacks(xmlXzfileMatch, xmlXzfileOpen,
|
||||
xmlXzfileRead, xmlXzfileClose);
|
||||
|
@ -2356,10 +2261,6 @@ xmlRegisterDefaultOutputCallbacks (void) {
|
|||
if (xmlOutputCallbackInitialized)
|
||||
return;
|
||||
|
||||
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
|
||||
xmlInitPlatformSpecificIo();
|
||||
#endif
|
||||
|
||||
xmlRegisterOutputCallbacks(xmlFileMatch, xmlFileOpenW,
|
||||
xmlFileWrite, xmlFileClose);
|
||||
|
||||
|
@ -2373,7 +2274,7 @@ xmlRegisterDefaultOutputCallbacks (void) {
|
|||
uncompressed ones except opening if existing then closing
|
||||
and saving with same compression ratio ... a pain.
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
xmlRegisterOutputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
|
||||
xmlGzfileWrite, xmlGzfileClose);
|
||||
#endif
|
||||
|
@ -2663,7 +2564,7 @@ __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
|
|||
ret->context = context;
|
||||
ret->readcallback = xmlInputCallbackTable[i].readcallback;
|
||||
ret->closecallback = xmlInputCallbackTable[i].closecallback;
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ((xmlInputCallbackTable[i].opencallback == xmlGzfileOpen) &&
|
||||
(strcmp(URI, "-") != 0)) {
|
||||
#if defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1230
|
||||
|
@ -2727,7 +2628,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
|
|||
int i = 0;
|
||||
void *context = NULL;
|
||||
char *unescaped = NULL;
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
int is_file_uri = 1;
|
||||
#endif
|
||||
|
||||
|
@ -2738,7 +2639,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
|
|||
|
||||
puri = xmlParseURI(URI);
|
||||
if (puri != NULL) {
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ((puri->scheme != NULL) &&
|
||||
(!xmlStrEqual(BAD_CAST puri->scheme, BAD_CAST "file")))
|
||||
is_file_uri = 0;
|
||||
|
@ -2758,7 +2659,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
|
|||
* try with an unescaped version of the URI
|
||||
*/
|
||||
if (unescaped != NULL) {
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ((compression > 0) && (compression <= 9) && (is_file_uri == 1)) {
|
||||
context = xmlGzfileOpenW(unescaped, compression);
|
||||
if (context != NULL) {
|
||||
|
@ -2776,7 +2677,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
|
|||
for (i = xmlOutputCallbackNr - 1;i >= 0;i--) {
|
||||
if ((xmlOutputCallbackTable[i].matchcallback != NULL) &&
|
||||
(xmlOutputCallbackTable[i].matchcallback(unescaped) != 0)) {
|
||||
#if defined(LIBXML_HTTP_ENABLED) && defined(HAVE_ZLIB_H)
|
||||
#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_ZLIB_ENABLED)
|
||||
/* Need to pass compression parameter into HTTP open calls */
|
||||
if (xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch)
|
||||
context = xmlIOHTTPOpenW(unescaped, compression);
|
||||
|
@ -2795,7 +2696,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
|
|||
* filename
|
||||
*/
|
||||
if (context == NULL) {
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#ifdef LIBXML_ZLIB_ENABLED
|
||||
if ((compression > 0) && (compression <= 9) && (is_file_uri == 1)) {
|
||||
context = xmlGzfileOpenW(URI, compression);
|
||||
if (context != NULL) {
|
||||
|
@ -2812,7 +2713,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
|
|||
for (i = xmlOutputCallbackNr - 1;i >= 0;i--) {
|
||||
if ((xmlOutputCallbackTable[i].matchcallback != NULL) &&
|
||||
(xmlOutputCallbackTable[i].matchcallback(URI) != 0)) {
|
||||
#if defined(LIBXML_HTTP_ENABLED) && defined(HAVE_ZLIB_H)
|
||||
#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_ZLIB_ENABLED)
|
||||
/* Need to pass compression parameter into HTTP open calls */
|
||||
if (xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch)
|
||||
context = xmlIOHTTPOpenW(URI, compression);
|
||||
|
@ -2942,10 +2843,8 @@ xmlOutputBufferCreateBuffer(xmlBufferPtr buffer,
|
|||
|
||||
if (buffer == NULL) return(NULL);
|
||||
|
||||
ret = xmlOutputBufferCreateIO((xmlOutputWriteCallback)
|
||||
xmlBufferWrite,
|
||||
(xmlOutputCloseCallback)
|
||||
NULL, (void *) buffer, encoder);
|
||||
ret = xmlOutputBufferCreateIO(xmlBufferWrite, NULL, (void *) buffer,
|
||||
encoder);
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
@ -3003,7 +2902,7 @@ xmlParserInputBufferCreateFd(int fd, xmlCharEncoding enc) {
|
|||
|
||||
ret = xmlAllocParserInputBuffer(enc);
|
||||
if (ret != NULL) {
|
||||
ret->context = (void *) (long) fd;
|
||||
ret->context = (void *) (ptrdiff_t) fd;
|
||||
ret->readcallback = xmlFdRead;
|
||||
ret->closecallback = xmlFdClose;
|
||||
}
|
||||
|
@ -3027,13 +2926,13 @@ xmlParserInputBufferCreateMem(const char *mem, int size, xmlCharEncoding enc) {
|
|||
xmlParserInputBufferPtr ret;
|
||||
int errcode;
|
||||
|
||||
if (size <= 0) return(NULL);
|
||||
if (size < 0) return(NULL);
|
||||
if (mem == NULL) return(NULL);
|
||||
|
||||
ret = xmlAllocParserInputBuffer(enc);
|
||||
if (ret != NULL) {
|
||||
ret->context = (void *) mem;
|
||||
ret->readcallback = (xmlInputReadCallback) xmlNop;
|
||||
ret->readcallback = xmlInputReadCallbackNop;
|
||||
ret->closecallback = NULL;
|
||||
errcode = xmlBufAdd(ret->buffer, (const xmlChar *) mem, size);
|
||||
if (errcode != 0) {
|
||||
|
@ -3063,7 +2962,7 @@ xmlParserInputBufferCreateStatic(const char *mem, int size,
|
|||
xmlCharEncoding enc) {
|
||||
xmlParserInputBufferPtr ret;
|
||||
|
||||
if (size <= 0) return(NULL);
|
||||
if (size < 0) return(NULL);
|
||||
if (mem == NULL) return(NULL);
|
||||
|
||||
ret = (xmlParserInputBufferPtr) xmlMalloc(sizeof(xmlParserInputBuffer));
|
||||
|
@ -3109,7 +3008,7 @@ xmlOutputBufferCreateFd(int fd, xmlCharEncodingHandlerPtr encoder) {
|
|||
|
||||
ret = xmlAllocOutputBufferInternal(encoder);
|
||||
if (ret != NULL) {
|
||||
ret->context = (void *) (long) fd;
|
||||
ret->context = (void *) (ptrdiff_t) fd;
|
||||
ret->writecallback = xmlFdWrite;
|
||||
ret->closecallback = NULL;
|
||||
}
|
||||
|
@ -3258,7 +3157,7 @@ xmlParserInputBufferPush(xmlParserInputBufferPtr in,
|
|||
* convert as much as possible to the parser reading buffer.
|
||||
*/
|
||||
use = xmlBufUse(in->raw);
|
||||
nbchars = xmlCharEncInput(in, 1);
|
||||
nbchars = xmlCharEncInput(in, 0);
|
||||
if (nbchars < 0) {
|
||||
xmlIOErr(XML_IO_ENCODER, NULL);
|
||||
in->error = XML_IO_ENCODER;
|
||||
|
@ -3374,7 +3273,7 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
|
|||
* convert as much as possible to the parser reading buffer.
|
||||
*/
|
||||
use = xmlBufUse(in->raw);
|
||||
nbchars = xmlCharEncInput(in, 1);
|
||||
nbchars = xmlCharEncInput(in, 0);
|
||||
if (nbchars < 0) {
|
||||
xmlIOErr(XML_IO_ENCODER, NULL);
|
||||
in->error = XML_IO_ENCODER;
|
||||
|
@ -3823,7 +3722,7 @@ xmlParserGetDirectory(const char *filename) {
|
|||
|
||||
if (filename == NULL) return(NULL);
|
||||
|
||||
#if defined(WIN32) && !defined(__CYGWIN__)
|
||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||
# define IS_XMLPGD_SEP(ch) ((ch=='/')||(ch=='\\'))
|
||||
#else
|
||||
# define IS_XMLPGD_SEP(ch) (ch=='/')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue