[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] xmlIO enhancements?
- From: Daniel Veillard <veillard redhat com>
- To: Joel Reed <joelwreed comcast net>
- Cc: xml gnome org
- Subject: Re: [xml] xmlIO enhancements?
- Date: Tue, 5 Apr 2005 13:34:32 -0400
On Tue, Apr 05, 2005 at 01:22:50PM -0400, Joel Reed wrote:
> I'm reviewing xmlFileOpen_real and xmlGzfileOpen_real in xmlIO.c and have
> two quick questions/possible improvements (i'll fire off a patch if no
> dissenters).
>
> 1) xmlFileOpen_real does a
>
> if (!xmlCheckFilename(path)) return(NULL);
>
> before the fopen(path, "r") call. This quick-out prevents library users
> from ever seeing a message in their structure error handler like
> "No such file or directory." By deleting this check, we can let fopen call
> fail and set errno, then let normal libxml error handling bubble the
> error back up to library users. Any reason why not to do this?
the optimistic way might be better yes. Might be faster too, see
http://bugzilla.gnome.org/show_bug.cgi?id=168414
if you work around improving xmlIO it might be something to keep in mind.
That could get rid of one of the 3 stat() calls.
> 2) Any reason not to enhance the last line of __xmlIOErr:
>
> __xmlSimpleError(domain, code, NULL, IOerr[idx], extra);
>
> to say
>
> __xmlSimpleError(domain, code, strerror(errno), IOerr[idx], extra);
>
> if this change passes all tests i'll submit a patch unless someone
> thinks it a bad idea.
the main question is the portability of strerror() according to
http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html
this should be ISO C, but I'm wondering about it on weird platforms/compilers.
> 3) xmlGzfileOpen_real does not have anything like:
>
> if (fd == NULL) xmlIOErr(0, path);
>
> after the gzopen(path, "rb") call, unlike xmlFileOpen_real. this
> minor inconsistency could be addressed easily enough. Any reason not to?
Makes sense of course, yes.
> p.s. have a good vacation dv!
Thanks :-) I may actually work a bit on libxml2 during the first week,
Daniel
--
Daniel Veillard | Red Hat Desktop team http://redhat.com/
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]