Something Similar

About Jeff Hodges
Atom Feed
Archive

libiconv and rFeedParser

I got a chance to read libiconv’s DESIGN document (found in the tarball) and noticed this passage:

Extensibility

The dlopen(3) approach is good for guaranteeing extensibility if the iconv implementation is distributed without source. (Or when, as in glibc, you cannot rebuild iconv without rebuilding your libc, thus possibly destabilizing your system.)

The libiconv package achieves extensibility through the LGPL license: Every user has access to the source of the package and can extend and replace just libiconv.so.

The places which have to be modified when a new encoding is added are as follows: add an #include statement in iconv.c, add an entry in the table in iconv.c, and of course, update the README and iconv_open.3 manual page.

The upshot of this is that adding new encodings through some iconv-encodings package will be a pain in the ass and would cause breakage in unexpected, fascinating ways. But, there are smarter people than I out there, and maybe something can still be done.

Of course, this also means that we would not get FreeBSD “for free” (though, I imagine xmlparser doesn’t build on it, anyway) and we would have to come up with a solution for it as well.

What a mess.