[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] Binary incompatibility with libxml2-2.2.8
- From: Daniel Veillard <veillard redhat com>
- To: Wayne Davison <wayned users sourceforge net>
- Cc: libxml <xml gnome org>
- Subject: Re: [xml] Binary incompatibility with libxml2-2.2.8
- Date: Mon, 12 Mar 2001 04:26:19 -0500
On Sun, Mar 11, 2001 at 04:48:03PM -0800, Wayne Davison wrote:
> A recent change was made to the struct "_htmlElemDesc" -- several
> ints were turned into chars. While this structure is supposedly
> "internal", there is a public accessor function available (namely
> htmlTagLookup()), and the structure's elements are also publicly
> known (since they are defined in the installed HTMLparser.h file).
>
> Unfortunately, I had an application that was looking up tags and
> checking the "empty" flag to see what HTML 4.0 elements have no
> close tag. Since there are no accessor functions for this
> structure, I had accessed the "empty" variable directly. Due to
> the above change, an application compiled with a modern libxml2
> will fail to run properly with an older (2.2.8) shared library
> and via versa.
Oops, I try to preserve binary compatibility. But i had to add
a new field to the structure, so accessing the array whould break
anyway. I was stuck not being able to fix the bug otherwise, so
between a binary incompatibility potentially affecting few users
and a bug fix, I selected the bug fix, sorry someone got stuck.
> So, my question is what should we do about this? Should the
> structure's contents really be defined in a public .h file? Or
In theory no, and I try to avoid this now in generic objects
like lists or hash tables. In practice, I still think I prefer
exposing the object content especially when I know that my API
is probably not good enough.
> should it only be defined in a header file that is internal to
> libxml2. Also, do we want any accessor functions to allow the
> user to look at the attributes of an HTML tag?
If you think you have a good API in mind, yep send it i will
add it.
Daniel
--
Daniel Veillard | Red Hat Network http://redhat.com/products/network/
veillard redhat com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]