Lines Matching +full:out +full:- +full:null
298 * @u8String: uft-8 string
300 * Convert a string from utf-8 to wchar (WINDOWS ONLY!)
305 wchar_t *wString = NULL; in __xmlIOWin32UTF8ToWChar()
311 -1, NULL, 0); in __xmlIOWin32UTF8ToWChar()
316 (CP_UTF8, 0, u8String, -1, wString, wLen) == 0) { in __xmlIOWin32UTF8ToWChar()
318 wString = NULL; in __xmlIOWin32UTF8ToWChar()
375 if (path == NULL) in xmlCheckFilename()
392 if (wpath == NULL) in xmlCheckFilename()
414 xmlConvertUriToPath(const char *uri, char **out) { in xmlConvertUriToPath() argument
418 *out = NULL; in xmlConvertUriToPath()
436 unescaped = xmlURIUnescapeString(escaped, 0, NULL); in xmlConvertUriToPath()
437 if (unescaped == NULL) in xmlConvertUriToPath()
438 return(-1); in xmlConvertUriToPath()
440 *out = unescaped; in xmlConvertUriToPath()
447 * @out: pointer to resulting context
452 xmlFdOpen(const char *filename, int write, int *out) { in xmlFdOpen() argument
453 char *fromUri = NULL; in xmlFdOpen()
458 *out = -1; in xmlFdOpen()
459 if (filename == NULL) in xmlFdOpen()
465 if (fromUri != NULL) in xmlFdOpen()
473 if (wpath == NULL) { in xmlFdOpen()
503 *out = fd; in xmlFdOpen()
536 return(-xmlIOErr(errno)); in xmlFdRead()
542 len -= bytes; in xmlFdRead()
568 return(-xmlIOErr(errno)); in xmlFdWrite()
571 len -= bytes; in xmlFdWrite()
613 * @out: pointer to resulting context
617 * Returns an I/O context or NULL in case of error
620 xmlFileOpenSafe(const char *filename, int write, void **out) { in xmlFileOpenSafe() argument
621 char *fromUri = NULL; in xmlFileOpenSafe()
625 *out = NULL; in xmlFileOpenSafe()
626 if (filename == NULL) in xmlFileOpenSafe()
632 if (fromUri != NULL) in xmlFileOpenSafe()
640 if (wpath == NULL) { in xmlFileOpenSafe()
651 if (fd == NULL) { in xmlFileOpenSafe()
667 *out = fd; in xmlFileOpenSafe()
678 * Returns an IO context or NULL in case or failure
703 if ((context == NULL) || (buffer == NULL)) in xmlFileRead()
704 return(-1); in xmlFileRead()
715 return(-xmlIOErr(errno)); in xmlFileRead()
736 if ((context == NULL) || (buffer == NULL)) in xmlFileWrite()
737 return(-1); in xmlFileWrite()
742 return(-xmlIOErr(errno)); in xmlFileWrite()
758 if (file == NULL) in xmlFileFlush()
759 return(-1); in xmlFileFlush()
773 * Returns 0 or -1 an error code case of error
779 if (context == NULL) in xmlFileClose()
780 return(-1); in xmlFileClose()
811 return(-XML_ERR_NO_MEMORY); in xmlBufferWrite()
839 return(-XML_IO_UNKNOWN); in xmlGzfileRead()
860 return(-XML_IO_UNKNOWN); in xmlGzfileWrite()
905 return(-XML_IO_UNKNOWN); in xmlXzfileRead()
955 * Returns an I/O context or NULL in case of error
959 return(xmlNanoHTTPOpen(filename, NULL)); in xmlIOHTTPOpen()
970 * Returns NULL.
976 return(NULL); in xmlIOHTTPOpenW()
994 if ((buffer == NULL) || (len < 0)) return(-1); in xmlIOHTTPRead()
1048 buf->context = xmlIOHTTPOpen(filename); in xmlInputDefaultOpen()
1050 if (buf->context != NULL) { in xmlInputDefaultOpen()
1051 buf->readcallback = xmlIOHTTPRead; in xmlInputDefaultOpen()
1052 buf->closecallback = xmlIOHTTPClose; in xmlInputDefaultOpen()
1071 if (xzStream == NULL) { in xmlInputDefaultOpen()
1075 buf->context = xzStream; in xmlInputDefaultOpen()
1076 buf->readcallback = xmlXzfileRead; in xmlInputDefaultOpen()
1077 buf->closecallback = xmlXzfileClose; in xmlInputDefaultOpen()
1078 buf->compressed = 1; in xmlInputDefaultOpen()
1098 if (gzStream == NULL) { in xmlInputDefaultOpen()
1107 buf->context = gzStream; in xmlInputDefaultOpen()
1108 buf->readcallback = xmlGzfileRead; in xmlInputDefaultOpen()
1109 buf->closecallback = xmlGzfileClose; in xmlInputDefaultOpen()
1110 buf->compressed = 1; in xmlInputDefaultOpen()
1124 buf->context = (void *) (ptrdiff_t) fd; in xmlInputDefaultOpen()
1125 buf->readcallback = xmlFdRead; in xmlInputDefaultOpen()
1126 buf->closecallback = xmlFdClose; in xmlInputDefaultOpen()
1147 if (!strcmp(filename, "-")) { in xmlOutputDefaultOpen()
1168 if (gzStream == NULL) { in xmlOutputDefaultOpen()
1173 buf->context = gzStream; in xmlOutputDefaultOpen()
1174 buf->writecallback = xmlGzfileWrite; in xmlOutputDefaultOpen()
1175 buf->closecallback = xmlGzfileClose; in xmlOutputDefaultOpen()
1181 buf->context = (void *) (ptrdiff_t) fd; in xmlOutputDefaultOpen()
1182 buf->writecallback = xmlFdWrite; in xmlOutputDefaultOpen()
1183 buf->closecallback = xmlFdClose; in xmlOutputDefaultOpen()
1198 * Returns the new parser input or NULL
1205 if (ret == NULL) { in xmlAllocParserInputBuffer()
1206 return(NULL); in xmlAllocParserInputBuffer()
1209 ret->buffer = xmlBufCreateSize(2 * xmlDefaultBufferSize); in xmlAllocParserInputBuffer()
1210 if (ret->buffer == NULL) { in xmlAllocParserInputBuffer()
1212 return(NULL); in xmlAllocParserInputBuffer()
1214 xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_DOUBLEIT); in xmlAllocParserInputBuffer()
1216 if (xmlLookupCharEncodingHandler(enc, &ret->encoder) != 0) { in xmlAllocParserInputBuffer()
1219 return(NULL); in xmlAllocParserInputBuffer()
1222 if (ret->encoder != NULL) in xmlAllocParserInputBuffer()
1223 ret->raw = xmlBufCreateSize(2 * xmlDefaultBufferSize); in xmlAllocParserInputBuffer()
1225 ret->raw = NULL; in xmlAllocParserInputBuffer()
1226 ret->readcallback = NULL; in xmlAllocParserInputBuffer()
1227 ret->closecallback = NULL; in xmlAllocParserInputBuffer()
1228 ret->context = NULL; in xmlAllocParserInputBuffer()
1229 ret->compressed = -1; in xmlAllocParserInputBuffer()
1230 ret->rawconsumed = 0; in xmlAllocParserInputBuffer()
1238 * @encoder: the encoding converter or NULL
1242 * Returns the new parser output or NULL
1249 if (ret == NULL) { in xmlAllocOutputBuffer()
1250 return(NULL); in xmlAllocOutputBuffer()
1253 ret->buffer = xmlBufCreate(); in xmlAllocOutputBuffer()
1254 if (ret->buffer == NULL) { in xmlAllocOutputBuffer()
1256 return(NULL); in xmlAllocOutputBuffer()
1258 xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_IO); in xmlAllocOutputBuffer()
1260 ret->encoder = encoder; in xmlAllocOutputBuffer()
1261 if (encoder != NULL) { in xmlAllocOutputBuffer()
1262 ret->conv = xmlBufCreateSize(4000); in xmlAllocOutputBuffer()
1263 if (ret->conv == NULL) { in xmlAllocOutputBuffer()
1264 xmlBufFree(ret->buffer); in xmlAllocOutputBuffer()
1266 return(NULL); in xmlAllocOutputBuffer()
1274 ret->conv = NULL; in xmlAllocOutputBuffer()
1275 ret->writecallback = NULL; in xmlAllocOutputBuffer()
1276 ret->closecallback = NULL; in xmlAllocOutputBuffer()
1277 ret->context = NULL; in xmlAllocOutputBuffer()
1278 ret->written = 0; in xmlAllocOutputBuffer()
1285 * @encoder: the encoding converter or NULL
1289 * Returns the new parser output or NULL
1296 if (ret == NULL) { in xmlAllocOutputBufferInternal()
1297 return(NULL); in xmlAllocOutputBufferInternal()
1300 ret->buffer = xmlBufCreate(); in xmlAllocOutputBufferInternal()
1301 if (ret->buffer == NULL) { in xmlAllocOutputBufferInternal()
1303 return(NULL); in xmlAllocOutputBufferInternal()
1310 xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_IO); in xmlAllocOutputBufferInternal()
1312 ret->encoder = encoder; in xmlAllocOutputBufferInternal()
1313 if (encoder != NULL) { in xmlAllocOutputBufferInternal()
1314 ret->conv = xmlBufCreateSize(4000); in xmlAllocOutputBufferInternal()
1315 if (ret->conv == NULL) { in xmlAllocOutputBufferInternal()
1316 xmlBufFree(ret->buffer); in xmlAllocOutputBufferInternal()
1318 return(NULL); in xmlAllocOutputBufferInternal()
1326 ret->conv = NULL; in xmlAllocOutputBufferInternal()
1327 ret->writecallback = NULL; in xmlAllocOutputBufferInternal()
1328 ret->closecallback = NULL; in xmlAllocOutputBufferInternal()
1329 ret->context = NULL; in xmlAllocOutputBufferInternal()
1330 ret->written = 0; in xmlAllocOutputBufferInternal()
1345 if (in == NULL) return; in xmlFreeParserInputBuffer()
1347 if (in->raw) { in xmlFreeParserInputBuffer()
1348 xmlBufFree(in->raw); in xmlFreeParserInputBuffer()
1349 in->raw = NULL; in xmlFreeParserInputBuffer()
1351 if (in->encoder != NULL) { in xmlFreeParserInputBuffer()
1352 xmlCharEncCloseFunc(in->encoder); in xmlFreeParserInputBuffer()
1354 if (in->closecallback != NULL) { in xmlFreeParserInputBuffer()
1355 in->closecallback(in->context); in xmlFreeParserInputBuffer()
1357 if (in->buffer != NULL) { in xmlFreeParserInputBuffer()
1358 xmlBufFree(in->buffer); in xmlFreeParserInputBuffer()
1359 in->buffer = NULL; in xmlFreeParserInputBuffer()
1368 * @out: a buffered output
1377 xmlOutputBufferClose(xmlOutputBufferPtr out) in xmlOutputBufferClose() argument
1381 if (out == NULL) in xmlOutputBufferClose()
1382 return (-1); in xmlOutputBufferClose()
1384 if (out->writecallback != NULL) in xmlOutputBufferClose()
1385 xmlOutputBufferFlush(out); in xmlOutputBufferClose()
1387 if (out->closecallback != NULL) { in xmlOutputBufferClose()
1388 int code = out->closecallback(out->context); in xmlOutputBufferClose()
1390 if ((code != XML_ERR_OK) && (out->error == XML_ERR_OK)) { in xmlOutputBufferClose()
1392 out->error = XML_IO_UNKNOWN; in xmlOutputBufferClose()
1394 out->error = code; in xmlOutputBufferClose()
1398 if (out->error != XML_ERR_OK) in xmlOutputBufferClose()
1399 ret = -out->error; in xmlOutputBufferClose()
1401 ret = out->written; in xmlOutputBufferClose()
1403 if (out->conv) { in xmlOutputBufferClose()
1404 xmlBufFree(out->conv); in xmlOutputBufferClose()
1405 out->conv = NULL; in xmlOutputBufferClose()
1407 if (out->encoder != NULL) { in xmlOutputBufferClose()
1408 xmlCharEncCloseFunc(out->encoder); in xmlOutputBufferClose()
1410 if (out->buffer != NULL) { in xmlOutputBufferClose()
1411 xmlBufFree(out->buffer); in xmlOutputBufferClose()
1412 out->buffer = NULL; in xmlOutputBufferClose()
1415 xmlFree(out); in xmlOutputBufferClose()
1426 * @out: pointer to resulting input buffer
1432 int flags, xmlParserInputBufferPtr *out) { in xmlParserInputBufferCreateUrl() argument
1437 *out = NULL; in xmlParserInputBufferCreateUrl()
1438 if (URI == NULL) in xmlParserInputBufferCreateUrl()
1442 * Allocate the Input buffer front-end. in xmlParserInputBufferCreateUrl()
1445 if (buf == NULL) in xmlParserInputBufferCreateUrl()
1453 for (i = xmlInputCallbackNr - 1; i >= 0; i--) { in xmlParserInputBufferCreateUrl()
1456 if (cb->matchcallback == xmlIODefaultMatch) { in xmlParserInputBufferCreateUrl()
1461 } else if ((cb->matchcallback != NULL) && in xmlParserInputBufferCreateUrl()
1462 (cb->matchcallback(URI) != 0)) { in xmlParserInputBufferCreateUrl()
1463 buf->context = cb->opencallback(URI); in xmlParserInputBufferCreateUrl()
1464 if (buf->context != NULL) { in xmlParserInputBufferCreateUrl()
1465 buf->readcallback = cb->readcallback; in xmlParserInputBufferCreateUrl()
1466 buf->closecallback = cb->closecallback; in xmlParserInputBufferCreateUrl()
1474 *out = NULL; in xmlParserInputBufferCreateUrl()
1478 *out = buf; in xmlParserInputBufferCreateUrl()
1497 * by default if found at compile-time.
1500 * Returns the new parser input or NULL
1506 if (xmlParserInputBufferCreateFilenameValue != NULL) in xmlParserInputBufferCreateFilename()
1521 char *unescaped = NULL; in __xmlOutputBufferCreateFilename()
1523 if (URI == NULL) in __xmlOutputBufferCreateFilename()
1524 return(NULL); in __xmlOutputBufferCreateFilename()
1527 if (puri != NULL) { in __xmlOutputBufferCreateFilename()
1531 if (puri->scheme == NULL) { in __xmlOutputBufferCreateFilename()
1532 unescaped = xmlURIUnescapeString(URI, 0, NULL); in __xmlOutputBufferCreateFilename()
1533 if (unescaped == NULL) { in __xmlOutputBufferCreateFilename()
1535 return(NULL); in __xmlOutputBufferCreateFilename()
1543 * Allocate the Output buffer front-end. in __xmlOutputBufferCreateFilename()
1546 if (ret == NULL) { in __xmlOutputBufferCreateFilename()
1548 return(NULL); in __xmlOutputBufferCreateFilename()
1555 for (i = xmlOutputCallbackNr - 1; i >= 0; i--) { in __xmlOutputBufferCreateFilename()
1559 if (cb->matchcallback == xmlIODefaultMatch) { in __xmlOutputBufferCreateFilename()
1564 } else if ((cb->matchcallback != NULL) && in __xmlOutputBufferCreateFilename()
1565 (cb->matchcallback(URI) != 0)) { in __xmlOutputBufferCreateFilename()
1566 ret->context = cb->opencallback(URI); in __xmlOutputBufferCreateFilename()
1567 if (ret->context != NULL) { in __xmlOutputBufferCreateFilename()
1568 ret->writecallback = cb->writecallback; in __xmlOutputBufferCreateFilename()
1569 ret->closecallback = cb->closecallback; in __xmlOutputBufferCreateFilename()
1575 if (ret->context == NULL) { in __xmlOutputBufferCreateFilename()
1577 ret = NULL; in __xmlOutputBufferCreateFilename()
1587 * @encoder: the encoding converter or NULL
1591 * If filename is "-' then we use stdout as the output.
1593 * by default if found at compile-time.
1597 * Returns the new output or NULL
1622 * Returns the new parser input or NULL
1628 if (file == NULL) return(NULL); in xmlParserInputBufferCreateFile()
1631 if (ret != NULL) { in xmlParserInputBufferCreateFile()
1632 ret->context = file; in xmlParserInputBufferCreateFile()
1633 ret->readcallback = xmlFileRead; in xmlParserInputBufferCreateFile()
1634 ret->closecallback = NULL; in xmlParserInputBufferCreateFile()
1644 * @encoder: the encoding converter or NULL
1649 * Returns the new parser output or NULL
1655 if (file == NULL) return(NULL); in xmlOutputBufferCreateFile()
1658 if (ret != NULL) { in xmlOutputBufferCreateFile()
1659 ret->context = file; in xmlOutputBufferCreateFile()
1660 ret->writecallback = xmlFileWrite; in xmlOutputBufferCreateFile()
1661 ret->closecallback = xmlFileFlush; in xmlOutputBufferCreateFile()
1670 * @encoder: the encoding converter or NULL
1674 * Returns the new parser output or NULL
1681 if (buffer == NULL) return(NULL); in xmlOutputBufferCreateBuffer()
1683 ret = xmlOutputBufferCreateIO(xmlBufferWrite, NULL, (void *) buffer, in xmlOutputBufferCreateBuffer()
1691 * @out: an xmlOutputBufferPtr
1695 * Returns a pointer to the data or NULL in case of error
1698 xmlOutputBufferGetContent(xmlOutputBufferPtr out) { in xmlOutputBufferGetContent() argument
1699 if ((out == NULL) || (out->buffer == NULL) || (out->error != 0)) in xmlOutputBufferGetContent()
1700 return(NULL); in xmlOutputBufferGetContent()
1702 return(xmlBufContent(out->buffer)); in xmlOutputBufferGetContent()
1707 * @out: an xmlOutputBufferPtr
1714 xmlOutputBufferGetSize(xmlOutputBufferPtr out) { in xmlOutputBufferGetSize() argument
1715 if ((out == NULL) || (out->buffer == NULL) || (out->error != 0)) in xmlOutputBufferGetSize()
1718 return(xmlBufUse(out->buffer)); in xmlOutputBufferGetSize()
1736 * Returns the new parser input or NULL
1742 if (fd < 0) return(NULL); in xmlParserInputBufferCreateFd()
1745 if (ret != NULL) { in xmlParserInputBufferCreateFd()
1746 ret->context = (void *) (ptrdiff_t) fd; in xmlParserInputBufferCreateFd()
1747 ret->readcallback = xmlFdRead; in xmlParserInputBufferCreateFd()
1763 if ((size_t) size > ctxt->size) in xmlMemRead()
1764 size = ctxt->size; in xmlMemRead()
1766 memcpy(buf, ctxt->cur, size); in xmlMemRead()
1767 ctxt->cur += size; in xmlMemRead()
1768 ctxt->size -= size; in xmlMemRead()
1777 if (ctxt->mem != NULL) in xmlMemClose()
1778 xmlFree(ctxt->mem); in xmlMemClose()
1792 * Returns the new input buffer or NULL.
1799 char *copy = NULL; in xmlNewInputBufferMemory()
1803 return(NULL); in xmlNewInputBufferMemory()
1805 if (copy == NULL) in xmlNewInputBufferMemory()
1806 return(NULL); in xmlNewInputBufferMemory()
1814 if (ret == NULL) { in xmlNewInputBufferMemory()
1816 return(NULL); in xmlNewInputBufferMemory()
1820 if (ctxt == NULL) { in xmlNewInputBufferMemory()
1823 return(NULL); in xmlNewInputBufferMemory()
1826 ctxt->mem = copy; in xmlNewInputBufferMemory()
1827 ctxt->cur = mem; in xmlNewInputBufferMemory()
1828 ctxt->size = size; in xmlNewInputBufferMemory()
1830 ret->context = ctxt; in xmlNewInputBufferMemory()
1831 ret->readcallback = xmlMemRead; in xmlNewInputBufferMemory()
1832 ret->closecallback = xmlMemClose; in xmlNewInputBufferMemory()
1854 * Returns the new parser input or NULL in case of error.
1858 if ((mem == NULL) || (size < 0)) in xmlParserInputBufferCreateMem()
1859 return(NULL); in xmlParserInputBufferCreateMem()
1880 * Returns the new parser input or NULL in case of error.
1885 if ((mem == NULL) || (size < 0)) in xmlParserInputBufferCreateStatic()
1886 return(NULL); in xmlParserInputBufferCreateStatic()
1901 zero = memchr(ctxt->str, 0, size); in xmlStringRead()
1902 len = zero ? zero - ctxt->str : size; in xmlStringRead()
1904 memcpy(buf, ctxt->str, len); in xmlStringRead()
1905 ctxt->str += len; in xmlStringRead()
1921 * Create an input buffer for a null-teriminated C string.
1923 * Returns the new input buffer or NULL.
1935 if (ret == NULL) in xmlNewInputBufferString()
1936 return(NULL); in xmlNewInputBufferString()
1939 if (ctxt == NULL) { in xmlNewInputBufferString()
1941 return(NULL); in xmlNewInputBufferString()
1944 ctxt->str = str; in xmlNewInputBufferString()
1946 ret->context = ctxt; in xmlNewInputBufferString()
1947 ret->readcallback = xmlStringRead; in xmlNewInputBufferString()
1948 ret->closecallback = xmlStringClose; in xmlNewInputBufferString()
1957 * @encoder: the encoding converter or NULL
1962 * Returns the new parser output or NULL
1968 if (fd < 0) return(NULL); in xmlOutputBufferCreateFd()
1971 if (ret != NULL) { in xmlOutputBufferCreateFd()
1972 ret->context = (void *) (ptrdiff_t) fd; in xmlOutputBufferCreateFd()
1973 ret->writecallback = xmlFdWrite; in xmlOutputBufferCreateFd()
1974 ret->closecallback = NULL; in xmlOutputBufferCreateFd()
1995 * Returns the new parser input or NULL
2002 if (ioread == NULL) return(NULL); in xmlParserInputBufferCreateIO()
2005 if (ret != NULL) { in xmlParserInputBufferCreateIO()
2006 ret->context = (void *) ioctx; in xmlParserInputBufferCreateIO()
2007 ret->readcallback = ioread; in xmlParserInputBufferCreateIO()
2008 ret->closecallback = ioclose; in xmlParserInputBufferCreateIO()
2025 * Returns the new parser output or NULL
2033 if (iowrite == NULL) return(NULL); in xmlOutputBufferCreateIO()
2036 if (ret != NULL) { in xmlOutputBufferCreateIO()
2037 ret->context = (void *) ioctx; in xmlOutputBufferCreateIO()
2038 ret->writecallback = iowrite; in xmlOutputBufferCreateIO()
2039 ret->closecallback = ioclose; in xmlOutputBufferCreateIO()
2063 if (old == NULL) in xmlParserInputBufferCreateFilenameDefault()
2067 func = NULL; in xmlParserInputBufferCreateFilenameDefault()
2085 if (old == NULL) { in xmlOutputBufferCreateFilenameDefault()
2100 * This routine handle the I18N transcoding to internal UTF-8
2103 * Returns the number of chars read and stored in the buffer, or -1
2113 if ((in == NULL) || (in->error)) return(-1); in xmlParserInputBufferPush()
2114 if (in->encoder != NULL) { in xmlParserInputBufferPush()
2118 if (in->raw == NULL) { in xmlParserInputBufferPush()
2119 in->raw = xmlBufCreate(); in xmlParserInputBufferPush()
2120 if (in->raw == NULL) { in xmlParserInputBufferPush()
2121 in->error = XML_ERR_NO_MEMORY; in xmlParserInputBufferPush()
2122 return(-1); in xmlParserInputBufferPush()
2125 ret = xmlBufAdd(in->raw, (const xmlChar *) buf, len); in xmlParserInputBufferPush()
2127 in->error = XML_ERR_NO_MEMORY; in xmlParserInputBufferPush()
2128 return(-1); in xmlParserInputBufferPush()
2136 return(-1); in xmlParserInputBufferPush()
2139 ret = xmlBufAdd(in->buffer, (xmlChar *) buf, nbchars); in xmlParserInputBufferPush()
2141 in->error = XML_ERR_NO_MEMORY; in xmlParserInputBufferPush()
2142 return(-1); in xmlParserInputBufferPush()
2167 * This routine handle the I18N transcoding to internal UTF-8
2171 * onto in->buffer or in->raw
2173 * Returns the number of chars read and stored in the buffer, or -1
2181 if ((in == NULL) || (in->error)) return(-1); in xmlParserInputBufferGrow()
2185 if (in->encoder == NULL) { in xmlParserInputBufferGrow()
2186 if (in->readcallback == NULL) in xmlParserInputBufferGrow()
2188 buf = in->buffer; in xmlParserInputBufferGrow()
2190 if (in->raw == NULL) { in xmlParserInputBufferGrow()
2191 in->raw = xmlBufCreate(); in xmlParserInputBufferGrow()
2193 buf = in->raw; in xmlParserInputBufferGrow()
2199 if (in->readcallback != NULL) { in xmlParserInputBufferGrow()
2201 in->error = XML_ERR_NO_MEMORY; in xmlParserInputBufferGrow()
2202 return(-1); in xmlParserInputBufferGrow()
2205 res = in->readcallback(in->context, (char *)xmlBufEnd(buf), len); in xmlParserInputBufferGrow()
2207 in->readcallback = endOfInput; in xmlParserInputBufferGrow()
2209 if (res == -1) in xmlParserInputBufferGrow()
2210 in->error = XML_IO_UNKNOWN; in xmlParserInputBufferGrow()
2212 in->error = -res; in xmlParserInputBufferGrow()
2213 return(-1); in xmlParserInputBufferGrow()
2217 in->error = XML_ERR_NO_MEMORY; in xmlParserInputBufferGrow()
2218 return(-1); in xmlParserInputBufferGrow()
2225 if (in->compressed == -1) { in xmlParserInputBufferGrow()
2227 if (in->readcallback == xmlXzfileRead) in xmlParserInputBufferGrow()
2228 in->compressed = __libxml2_xzcompressed(in->context); in xmlParserInputBufferGrow()
2232 if (in->encoder != NULL) { in xmlParserInputBufferGrow()
2235 return(-1); in xmlParserInputBufferGrow()
2247 * This routine handle the I18N transcoding to internal UTF-8
2249 * Returns the number of chars read and stored in the buffer, or -1
2260 * @out: a buffered parser output
2265 * This routine handle the I18N transcoding from internal UTF-8
2269 * Returns the number of chars immediately written, or -1
2273 xmlOutputBufferWrite(xmlOutputBufferPtr out, int len, const char *buf) { in xmlOutputBufferWrite() argument
2279 if ((out == NULL) || (out->error)) return(-1); in xmlOutputBufferWrite()
2281 if (out->error) return(-1); in xmlOutputBufferWrite()
2291 if (out->encoder != NULL) { in xmlOutputBufferWrite()
2295 if (out->conv == NULL) { in xmlOutputBufferWrite()
2296 out->conv = xmlBufCreate(); in xmlOutputBufferWrite()
2297 if (out->conv == NULL) { in xmlOutputBufferWrite()
2298 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWrite()
2299 return(-1); in xmlOutputBufferWrite()
2302 ret = xmlBufAdd(out->buffer, (const xmlChar *) buf, chunk); in xmlOutputBufferWrite()
2304 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWrite()
2305 return(-1); in xmlOutputBufferWrite()
2308 if ((xmlBufUse(out->buffer) < MINLEN) && (chunk == len)) in xmlOutputBufferWrite()
2314 ret = xmlCharEncOutput(out, 0); in xmlOutputBufferWrite()
2316 return(-1); in xmlOutputBufferWrite()
2317 if (out->writecallback) in xmlOutputBufferWrite()
2318 nbchars = xmlBufUse(out->conv); in xmlOutputBufferWrite()
2322 ret = xmlBufAdd(out->buffer, (const xmlChar *) buf, chunk); in xmlOutputBufferWrite()
2324 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWrite()
2325 return(-1); in xmlOutputBufferWrite()
2327 if (out->writecallback) in xmlOutputBufferWrite()
2328 nbchars = xmlBufUse(out->buffer); in xmlOutputBufferWrite()
2333 len -= chunk; in xmlOutputBufferWrite()
2335 if (out->writecallback) { in xmlOutputBufferWrite()
2342 if (out->encoder != NULL) { in xmlOutputBufferWrite()
2343 ret = out->writecallback(out->context, in xmlOutputBufferWrite()
2344 (const char *)xmlBufContent(out->conv), nbchars); in xmlOutputBufferWrite()
2346 xmlBufShrink(out->conv, ret); in xmlOutputBufferWrite()
2348 ret = out->writecallback(out->context, in xmlOutputBufferWrite()
2349 (const char *)xmlBufContent(out->buffer), nbchars); in xmlOutputBufferWrite()
2351 xmlBufShrink(out->buffer, ret); in xmlOutputBufferWrite()
2354 out->error = (ret == -1) ? XML_IO_WRITE : -ret; in xmlOutputBufferWrite()
2357 if (out->written > INT_MAX - ret) in xmlOutputBufferWrite()
2358 out->written = INT_MAX; in xmlOutputBufferWrite()
2360 out->written += ret; in xmlOutputBufferWrite()
2371 * @out: a pointer to an array of bytes to store the result
2372 * @outlen: the length of @out
2373 * @in: a pointer to an array of unescaped UTF-8 bytes
2376 * Take a block of UTF-8 chars in and escape them.
2377 * Returns 0 if success, or -1 otherwise
2383 xmlEscapeContent(unsigned char* out, int *outlen, in xmlEscapeContent() argument
2385 unsigned char* outstart = out; in xmlEscapeContent()
2387 unsigned char* outend = out + *outlen; in xmlEscapeContent()
2392 while ((in < inend) && (out < outend)) { in xmlEscapeContent()
2394 if (outend - out < 4) break; in xmlEscapeContent()
2395 *out++ = '&'; in xmlEscapeContent()
2396 *out++ = 'l'; in xmlEscapeContent()
2397 *out++ = 't'; in xmlEscapeContent()
2398 *out++ = ';'; in xmlEscapeContent()
2400 if (outend - out < 4) break; in xmlEscapeContent()
2401 *out++ = '&'; in xmlEscapeContent()
2402 *out++ = 'g'; in xmlEscapeContent()
2403 *out++ = 't'; in xmlEscapeContent()
2404 *out++ = ';'; in xmlEscapeContent()
2406 if (outend - out < 5) break; in xmlEscapeContent()
2407 *out++ = '&'; in xmlEscapeContent()
2408 *out++ = 'a'; in xmlEscapeContent()
2409 *out++ = 'm'; in xmlEscapeContent()
2410 *out++ = 'p'; in xmlEscapeContent()
2411 *out++ = ';'; in xmlEscapeContent()
2413 if (outend - out < 5) break; in xmlEscapeContent()
2414 *out++ = '&'; in xmlEscapeContent()
2415 *out++ = '#'; in xmlEscapeContent()
2416 *out++ = '1'; in xmlEscapeContent()
2417 *out++ = '3'; in xmlEscapeContent()
2418 *out++ = ';'; in xmlEscapeContent()
2420 *out++ = *in; in xmlEscapeContent()
2424 *outlen = out - outstart; in xmlEscapeContent()
2425 *inlen = in - base; in xmlEscapeContent()
2431 * @out: a buffered parser output
2432 * @str: a zero terminated UTF-8 string
2433 * @escaping: an optional escaping function (or NULL)
2437 * transcoding from internal UTF-8
2441 * Returns the number of chars immediately written, or -1
2445 xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str, in xmlOutputBufferWriteEscape() argument
2455 if ((out == NULL) || (out->error) || (str == NULL) || in xmlOutputBufferWriteEscape()
2456 (out->buffer == NULL)) in xmlOutputBufferWriteEscape()
2457 return(-1); in xmlOutputBufferWriteEscape()
2460 if (out->error) return(-1); in xmlOutputBufferWriteEscape()
2461 if (escaping == NULL) escaping = xmlEscapeContent; in xmlOutputBufferWriteEscape()
2470 chunk = xmlBufAvail(out->buffer); in xmlOutputBufferWriteEscape()
2477 if (xmlBufGrow(out->buffer, 100) < 0) { in xmlOutputBufferWriteEscape()
2478 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWriteEscape()
2479 return(-1); in xmlOutputBufferWriteEscape()
2481 oldwritten = -1; in xmlOutputBufferWriteEscape()
2488 if (out->encoder != NULL) { in xmlOutputBufferWriteEscape()
2492 if (out->conv == NULL) { in xmlOutputBufferWriteEscape()
2493 out->conv = xmlBufCreate(); in xmlOutputBufferWriteEscape()
2494 if (out->conv == NULL) { in xmlOutputBufferWriteEscape()
2495 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWriteEscape()
2496 return(-1); in xmlOutputBufferWriteEscape()
2499 ret = escaping(xmlBufEnd(out->buffer) , in xmlOutputBufferWriteEscape()
2502 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWriteEscape()
2503 return(-1); in xmlOutputBufferWriteEscape()
2505 xmlBufAddLen(out->buffer, chunk); in xmlOutputBufferWriteEscape()
2507 if ((xmlBufUse(out->buffer) < MINLEN) && (cons == len)) in xmlOutputBufferWriteEscape()
2513 ret = xmlCharEncOutput(out, 0); in xmlOutputBufferWriteEscape()
2515 return(-1); in xmlOutputBufferWriteEscape()
2516 if (out->writecallback) in xmlOutputBufferWriteEscape()
2517 nbchars = xmlBufUse(out->conv); in xmlOutputBufferWriteEscape()
2521 ret = escaping(xmlBufEnd(out->buffer), &chunk, str, &cons); in xmlOutputBufferWriteEscape()
2523 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWriteEscape()
2524 return(-1); in xmlOutputBufferWriteEscape()
2526 xmlBufAddLen(out->buffer, chunk); in xmlOutputBufferWriteEscape()
2527 if (out->writecallback) in xmlOutputBufferWriteEscape()
2528 nbchars = xmlBufUse(out->buffer); in xmlOutputBufferWriteEscape()
2533 len -= cons; in xmlOutputBufferWriteEscape()
2535 if (out->writecallback) { in xmlOutputBufferWriteEscape()
2542 if (out->encoder != NULL) { in xmlOutputBufferWriteEscape()
2543 ret = out->writecallback(out->context, in xmlOutputBufferWriteEscape()
2544 (const char *)xmlBufContent(out->conv), nbchars); in xmlOutputBufferWriteEscape()
2546 xmlBufShrink(out->conv, ret); in xmlOutputBufferWriteEscape()
2548 ret = out->writecallback(out->context, in xmlOutputBufferWriteEscape()
2549 (const char *)xmlBufContent(out->buffer), nbchars); in xmlOutputBufferWriteEscape()
2551 xmlBufShrink(out->buffer, ret); in xmlOutputBufferWriteEscape()
2554 out->error = (ret == -1) ? XML_IO_WRITE : -ret; in xmlOutputBufferWriteEscape()
2555 return(-1); in xmlOutputBufferWriteEscape()
2557 if (out->written > INT_MAX - ret) in xmlOutputBufferWriteEscape()
2558 out->written = INT_MAX; in xmlOutputBufferWriteEscape()
2560 out->written += ret; in xmlOutputBufferWriteEscape()
2561 } else if (xmlBufAvail(out->buffer) < MINLEN) { in xmlOutputBufferWriteEscape()
2562 if (xmlBufGrow(out->buffer, MINLEN) < 0) { in xmlOutputBufferWriteEscape()
2563 out->error = XML_ERR_NO_MEMORY; in xmlOutputBufferWriteEscape()
2564 return(-1); in xmlOutputBufferWriteEscape()
2576 * @out: a buffered parser output
2580 * This routine handle the I18N transcoding from internal UTF-8
2584 * Returns the number of chars immediately written, or -1
2588 xmlOutputBufferWriteString(xmlOutputBufferPtr out, const char *str) { in xmlOutputBufferWriteString() argument
2591 if ((out == NULL) || (out->error)) return(-1); in xmlOutputBufferWriteString()
2592 if (str == NULL) in xmlOutputBufferWriteString()
2593 return(-1); in xmlOutputBufferWriteString()
2597 return(xmlOutputBufferWrite(out, len, str)); in xmlOutputBufferWriteString()
2608 * quote or double-quotes internally
2615 if ((buf == NULL) || (buf->error)) in xmlOutputBufferWriteQuotedString()
2625 xmlOutputBufferWrite(buf, cur - base, in xmlOutputBufferWriteQuotedString()
2636 xmlOutputBufferWrite(buf, cur - base, (const char *) base); in xmlOutputBufferWriteQuotedString()
2653 * @out: a buffered output
2657 * Returns the number of byte written or -1 in case of error.
2660 xmlOutputBufferFlush(xmlOutputBufferPtr out) { in xmlOutputBufferFlush() argument
2663 if ((out == NULL) || (out->error)) return(-1); in xmlOutputBufferFlush()
2667 if ((out->conv != NULL) && (out->encoder != NULL)) { in xmlOutputBufferFlush()
2672 nbchars = xmlCharEncOutput(out, 0); in xmlOutputBufferFlush()
2674 return(-1); in xmlOutputBufferFlush()
2681 if ((out->conv != NULL) && (out->encoder != NULL) && in xmlOutputBufferFlush()
2682 (out->writecallback != NULL)) { in xmlOutputBufferFlush()
2683 ret = out->writecallback(out->context, in xmlOutputBufferFlush()
2684 (const char *)xmlBufContent(out->conv), in xmlOutputBufferFlush()
2685 xmlBufUse(out->conv)); in xmlOutputBufferFlush()
2687 xmlBufShrink(out->conv, ret); in xmlOutputBufferFlush()
2688 } else if (out->writecallback != NULL) { in xmlOutputBufferFlush()
2689 ret = out->writecallback(out->context, in xmlOutputBufferFlush()
2690 (const char *)xmlBufContent(out->buffer), in xmlOutputBufferFlush()
2691 xmlBufUse(out->buffer)); in xmlOutputBufferFlush()
2693 xmlBufShrink(out->buffer, ret); in xmlOutputBufferFlush()
2696 out->error = (ret == -1) ? XML_IO_WRITE : -ret; in xmlOutputBufferFlush()
2699 if (out->written > INT_MAX - ret) in xmlOutputBufferFlush()
2700 out->written = INT_MAX; in xmlOutputBufferFlush()
2702 out->written += ret; in xmlOutputBufferFlush()
2714 * Returns a new allocated string containing the directory, or NULL.
2718 char *ret = NULL; in xmlParserGetDirectory()
2722 if (filename == NULL) return(NULL); in xmlParserGetDirectory()
2735 cur --; in xmlParserGetDirectory()
2742 if (getcwd(dir, 1024) != NULL) { in xmlParserGetDirectory()
2766 if (filename == NULL) in xmlNoNetExists()
2772 if (fromUri != NULL) in xmlNoNetExists()
2815 * Returns the registered handler number or -1 in case of error
2822 return(-1); in xmlRegisterInputCallbacks()
2834 * Registers the default compiled-in I/O handlers.
2838 xmlRegisterInputCallbacks(xmlIODefaultMatch, NULL, NULL, NULL); in xmlRegisterDefaultInputCallbacks()
2845 * compiled-in I/O.
2847 * Returns the number of input callback registered or -1 in case of error.
2853 return(-1); in xmlPopInputCallbacks()
2855 xmlInputCallbackNr--; in xmlPopInputCallbacks()
2864 * compiled-in I/O.
2882 * Returns the registered handler number or -1 in case of error
2889 return(-1); in xmlRegisterOutputCallbacks()
2901 * Registers the default compiled-in I/O handlers.
2905 xmlRegisterOutputCallbacks(xmlIODefaultMatch, NULL, NULL, NULL); in xmlRegisterDefaultOutputCallbacks()
2912 * compiled-in I/O.
2914 * Returns the number of output callback registered or -1 in case of error.
2920 return(-1); in xmlPopOutputCallbacks()
2922 xmlOutputCallbackNr--; in xmlPopOutputCallbacks()
2931 * compiled-in I/O callbacks.