diff options
Diffstat (limited to 'libjava/classpath')
-rw-r--r-- | libjava/classpath/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/classpath/native/jni/xmlj/xmlj_io.c | 20 |
2 files changed, 24 insertions, 3 deletions
diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 0bd2e6ee128..cd6b8aa9d5d 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,10 @@ +2012-08-09 Dodji Seketeli <dodji@redhat.com> + + Use accessor functions to manipulate xmlOutputBuffer + * native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT) + (GET_XML_OUTPUT_BUFFER_SIZE): New macros. + (xmljOutputWriteCallback): Use them. + 2012-03-08 Andrew John Hughes <ahughes@redhat.com> * NEWS: Set correct release date. diff --git a/libjava/classpath/native/jni/xmlj/xmlj_io.c b/libjava/classpath/native/jni/xmlj/xmlj_io.c index aa2964dc312..a55e48df811 100644 --- a/libjava/classpath/native/jni/xmlj/xmlj_io.c +++ b/libjava/classpath/native/jni/xmlj/xmlj_io.c @@ -102,6 +102,19 @@ xmljFreeOutputStreamContext (OutputStreamContext * outContext); xmlCharEncoding xmljDetectCharEncoding (JNIEnv * env, jbyteArray buffer); + +#ifdef LIBXML2_NEW_BUFFER +#define GET_XML_OUTPUT_BUFFER_CONTENT(buf) (gchar *) \ + (char *) xmlOutputBufferGetContent(buf) +#define GET_XML_OUTPUT_BUFFER_SIZE(buf) \ + xmlOutputBufferGetSize(buf) +#else +#define GET_XML_OUTPUT_BUFFER_CONTENT(buf) \ + (buf)->buffer->content +#define GET_XML_OUTPUT_BUFFER_SIZE(buf) \ + (buf)->buffer->use +#endif + int xmljOutputWriteCallback (void *context, const char *buffer, int len) { @@ -752,9 +765,10 @@ xmljLoadExternalEntity (const char *URL, const char *ID, inputStream->directory = NULL; inputStream->buf = inputBuffer; - inputStream->base = inputStream->buf->buffer->content; - inputStream->cur = inputStream->buf->buffer->content; - inputStream->end = &inputStream->base[inputStream->buf->buffer->use]; + inputStream->base = GET_XML_OUTPUT_BUFFER_CONTENT (inputStream->buf); + inputStream->cur = GET_XML_OUTPUT_BUFFER_CONTENT (inputStream->buf); + inputStream->end = + &inputStream->base[GET_XML_OUTPUT_BUFFER_SIZE (inputStream->buf)]; if ((ctxt->directory == NULL) && (inputStream->directory != NULL)) ctxt->directory = (char *) xmlStrdup ((const xmlChar *) inputStream->directory); |