* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer [not found] <m3txwdvxyj.fsf@redhat.com> @ 2012-08-09 9:08 ` Andrew Haley 2012-08-09 10:49 ` Andrew Hughes 0 siblings, 1 reply; 7+ messages in thread From: Andrew Haley @ 2012-08-09 9:08 UTC (permalink / raw) To: Dodji Seketeli; +Cc: GCJ-patches On 08/08/2012 11:08 PM, Dodji Seketeli wrote: > Hello, > > This is a fix to prepare the xmlj_io.c file of gnu classpath to a coming > API change in libxml2. > > Basically, we were previously accessing fields inside the > xmlOutputBuffer struct of libxml2. In a coming version of libxml2, > that won't be possible anymore. Client code will have to use accessor > functions instead. For the gory details, there is an interestin note > of Daniel Veillard (author of libxml2) at > https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00007.html. > > This patch defines too accessor macros that, depending on the version > of libxml2 we are using will either access the fields of > xmlOutputBuffer directly, or use the new accessor function. > > Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. > > OK to commit? OK. Thanks, Andrew. > libjava/classpath/ > > * native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT) > (GET_XML_OUTPUT_BUFFER_SIZE): New macros. > (xmljOutputWriteCallback): Use them. > --- > libjava/classpath/native/jni/xmlj/xmlj_io.c | 20 +++++++++++++++++--- > 1 files changed, 17 insertions(+), 3 deletions(-) > > diff --git a/libjava/classpath/native/jni/xmlj/xmlj_io.c b/libjava/classpath/native/jni/xmlj/xmlj_io.c > index aa2964d..a55e48d 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); > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer 2012-08-09 9:08 ` [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer Andrew Haley @ 2012-08-09 10:49 ` Andrew Hughes 2012-08-09 12:00 ` Andrew Haley 2012-08-09 13:42 ` Dodji Seketeli 0 siblings, 2 replies; 7+ messages in thread From: Andrew Hughes @ 2012-08-09 10:49 UTC (permalink / raw) To: Andrew Haley; +Cc: GCJ-patches, Dodji Seketeli ----- Original Message ----- > On 08/08/2012 11:08 PM, Dodji Seketeli wrote: > > Hello, > > > > This is a fix to prepare the xmlj_io.c file of gnu classpath to a > > coming > > API change in libxml2. > > > > Basically, we were previously accessing fields inside the > > xmlOutputBuffer struct of libxml2. In a coming version of libxml2, > > that won't be possible anymore. Client code will have to use > > accessor > > functions instead. For the gory details, there is an interestin > > note > > of Daniel Veillard (author of libxml2) at > > https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00007.html. > > > > This patch defines too accessor macros that, depending on the > > version > > of libxml2 we are using will either access the fields of > > xmlOutputBuffer directly, or use the new accessor function. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. > > > > OK to commit? > > OK. > As this is a GNU Classpath change, it should go in there first to avoid creating a divergence which will cause later problems in merging. Classpath is regularly merged into gcj as a whole. I found several patches during the last merge which had only been added to gcj (some without ChangeLog entries) and this slowed the process down considerably. Dodji, I can push this to Classpath on your behalf if you don't have commit access. > Thanks, > Andrew. > > > > libjava/classpath/ > > > > * native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT) > > (GET_XML_OUTPUT_BUFFER_SIZE): New macros. > > (xmljOutputWriteCallback): Use them. > > --- > > libjava/classpath/native/jni/xmlj/xmlj_io.c | 20 > > +++++++++++++++++--- > > 1 files changed, 17 insertions(+), 3 deletions(-) > > > > diff --git a/libjava/classpath/native/jni/xmlj/xmlj_io.c > > b/libjava/classpath/native/jni/xmlj/xmlj_io.c > > index aa2964d..a55e48d 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); > > > > Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer 2012-08-09 10:49 ` Andrew Hughes @ 2012-08-09 12:00 ` Andrew Haley 2012-08-09 13:42 ` Dodji Seketeli 1 sibling, 0 replies; 7+ messages in thread From: Andrew Haley @ 2012-08-09 12:00 UTC (permalink / raw) To: Andrew Hughes; +Cc: GCJ-patches, Dodji Seketeli On 08/09/2012 11:48 AM, Andrew Hughes wrote: > As this is a GNU Classpath change, it should go in there first to avoid creating > a divergence which will cause later problems in merging. Ah, I didn't notice that. I just checked that the patch was OK. Andrew. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer 2012-08-09 10:49 ` Andrew Hughes 2012-08-09 12:00 ` Andrew Haley @ 2012-08-09 13:42 ` Dodji Seketeli 2012-08-09 14:40 ` Andrew Hughes 1 sibling, 1 reply; 7+ messages in thread From: Dodji Seketeli @ 2012-08-09 13:42 UTC (permalink / raw) To: Andrew Hughes; +Cc: Andrew Haley, GCJ-patches, GCC Patches Andrew Hughes <ahughes@redhat.com> writes: >> OK. >> > > As this is a GNU Classpath change, it should go in there first to avoid creating > a divergence which will cause later problems in merging. Classpath is regularly > merged into gcj as a whole. > > I found several patches during the last merge which had only been added to gcj > (some without ChangeLog entries) and this slowed the process down considerably. > > Dodji, I can push this to Classpath on your behalf if you don't have commit > access. Oops. I committed the patch before I saw your message. Sorry. If you agree, I can revert the commit so that you can commit it to classpath then. I don't think I have commit access to GNU classpath. Sorry for the inconvenience. -- Dodji ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer 2012-08-09 13:42 ` Dodji Seketeli @ 2012-08-09 14:40 ` Andrew Hughes 2012-08-09 15:02 ` Dodji Seketeli 0 siblings, 1 reply; 7+ messages in thread From: Andrew Hughes @ 2012-08-09 14:40 UTC (permalink / raw) To: Dodji Seketeli; +Cc: Andrew Haley, GCJ-patches, GCC Patches ----- Original Message ----- > Andrew Hughes <ahughes@redhat.com> writes: > > >> OK. > >> > > > > As this is a GNU Classpath change, it should go in there first to > > avoid creating > > a divergence which will cause later problems in merging. Classpath > > is regularly > > merged into gcj as a whole. > > > > I found several patches during the last merge which had only been > > added to gcj > > (some without ChangeLog entries) and this slowed the process down > > considerably. > > > > Dodji, I can push this to Classpath on your behalf if you don't > > have commit > > access. > > Oops. I committed the patch before I saw your message. Sorry. > > If you agree, I can revert the commit so that you can commit it to > classpath then. I don't think I have commit access to GNU classpath. > > Sorry for the inconvenience. > Don't worry about reverting it. I'll add it to Classpath now, then they'll be in sync when we do the next merge. In future, please post changes to files under the libjava/classpath directory to classpath@gnu.org and feel free to ping me directly if you don't get a response in a reasonable timeframe. It just makes my life a bit easier when it comes to doing the merges :-) > -- > Dodji > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer 2012-08-09 14:40 ` Andrew Hughes @ 2012-08-09 15:02 ` Dodji Seketeli 2012-08-09 20:04 ` Andrew Hughes 0 siblings, 1 reply; 7+ messages in thread From: Dodji Seketeli @ 2012-08-09 15:02 UTC (permalink / raw) To: Andrew Hughes; +Cc: Andrew Haley, GCJ-patches, GCC Patches Andrew Hughes <ahughes@redhat.com> writes: > Don't worry about reverting it. I'll add it to Classpath now, then > they'll be in sync when we do the next merge. Thank you. > In future, please post changes to files under the libjava/classpath directory to > classpath@gnu.org and feel free to ping me directly if you don't > get a response in a reasonable timeframe. It just makes my life a bit > easier when it comes to doing the merges :-) OK, I will do. Sorry for the inconvenience. -- Dodji ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer 2012-08-09 15:02 ` Dodji Seketeli @ 2012-08-09 20:04 ` Andrew Hughes 0 siblings, 0 replies; 7+ messages in thread From: Andrew Hughes @ 2012-08-09 20:04 UTC (permalink / raw) To: Dodji Seketeli; +Cc: Andrew Haley, GCJ-patches, GCC Patches ----- Original Message ----- > Andrew Hughes <ahughes@redhat.com> writes: > > > Don't worry about reverting it. I'll add it to Classpath now, then > > they'll be in sync when we do the next merge. > > Thank you. > Done: http://git.savannah.gnu.org/cgit/classpath.git/commit/?id=4d4db712cf4df4feb4d7b98bb1b5b448218500b3 > > In future, please post changes to files under the libjava/classpath > > directory to > > classpath@gnu.org and feel free to ping me directly if you don't > > get a response in a reasonable timeframe. It just makes my life a > > bit > > easier when it comes to doing the merges :-) > > OK, I will do. Sorry for the inconvenience. No worries. It's not immediately obvious for someone new to the libjava codebase. > > -- > Dodji > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-08-09 20:04 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <m3txwdvxyj.fsf@redhat.com> 2012-08-09 9:08 ` [PATCH, libjava] Use accessor functions to manipulate xmlOutputBuffer Andrew Haley 2012-08-09 10:49 ` Andrew Hughes 2012-08-09 12:00 ` Andrew Haley 2012-08-09 13:42 ` Dodji Seketeli 2012-08-09 14:40 ` Andrew Hughes 2012-08-09 15:02 ` Dodji Seketeli 2012-08-09 20:04 ` Andrew Hughes
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).