Re: [xml] OS/400 implementation (Was: Posting a patch to this list)



  Hi Patrick,

 as promised I'm back on the issue, took a while but heh, we waited 10+
years since first exchange about it :-)

On Tue, Nov 19, 2013 at 02:33:58PM +0100, Patrick Monnerat wrote:
Bjoern Hoehrmann wrote:
I did create an account and I see this e-mail has been accepted by the

list server, but it has never been sent back nor appears in the 
archives.

That usually means it is awaiting moderation by a human moderator with
limited resources. Large attachments should never be sent to mailing
lists intended for discussions, in this case a better place would be to
attach it to a bug in Bugzilla,

 http://bugzilla.gnome.org/buglist.cgi?product=libxml2

Thanks for the info and link, Bjoern.

Here is the bug report for the OS/400 support patch.

https://bugzilla.gnome.org/show_bug.cgi?id=712670


There are very few updates to the existing code:
- Some header+doc file lines have been split to < 100 chararacters.
- Some configuration dependent casts have been introduced to support
passing const arguments to system functions declaring the corresponding
formal parameter as non const.
- Support for va_list declared as an array (cannot be referenced
explicitly).
- Use of fileno(stdin)/fileno(stdout) instead of 0/1 because OS/400
stdin/stdout do not have a file descriptor, while file descriptors 0 and
1 can be a regularly opened file.
- Some conditional tests added for the OS/400 compilation environment.

The rest is OS/400-specific (and stored under os400 subdirectory):
- dlopen() emulation.
- iconv_open() encoding names mapping. Plus a program to rebuild the
mapping tables.
- EBCDIC wrappers to called system/library functions.
- UTF-8 support functions for OS/400 programs calling libxml2.
- Compilation scripts (no autotools on native OS/400).
- ILE/RPG language binding: mainly a translate of C header files.

Comments and feedbacks are welcome !

  So I took some time to work on this. First thing that patch is huge,
so I splitted it I suggest reading
  http://tomayko.com/writings/the-thing-about-git
which show where git helps you in such situation :-)

  Of all the patches applying to existing code, I applied most of them,
you can find them in git HEAD upstream.

  What is left is:
    - a patch to encoding.c about using (iconv_t) -1 instead of
      comparing to NULL, I can understand why you do it but I would
      like to know first if we could use (iconv_t) 0 instead, but
      reading the README.OS400 I'm not sure it's possible
    - a patch adding the os400 directory to the dist target in
      Makefile.am

I dropped the patches for ChangeLog which we don't use since switching
to git, and the patch for NEWS as it's a generated file and will be
overwritten on next commit, since those are docs I assume it's not
critical anyway.

  Then there is the os400 directory, ahum, that's huge .... do we really
need all of os400/libxmlrpg it nearly looks like debugging output
os400/dlfcn looks fine, though having an author for the copyright would
be a required change, same for all the files in the new directory :-)

  So there is still a bit of work but I'm sure we can clean thing up
rather quickly.
  Please send incremental patches against your existing libxml2.os400
tree to avoid having to regenerate everything :-)

   thanks !

Daniel

-- 
Daniel Veillard      | Open Source and Standards, Red Hat
veillard redhat com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | virtualization library  http://libvirt.org/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]