1 Dec 2001 forrest   » (Journeyer)

I'd like to say I'm halfway through my perl module to wrap libgs (you know, Ghostscript) but in terms of what I still need to learn, maybe one-tenth done is more accurate.

Passing I/O references from C to Perl and back is a Major Arcanum. I got some good help on the perl-xs mailing list, but the fact that the sv_2io() function I evedently need to use for passing handles isn't formally documented anywhere is disquieting, especially when you further consider the fact that perldoc perlapi sez "The interfaces of any functions that are not listed here are subject to change without notice."

At one point I was working on the perl interface to libcurl; I wrote a hook into the progress callback so you could write your progress function in perl. Most of what libcurl is about is I/O, though, and some more clueful people than me stepped in to get that working. The threading requirement for libcurl is what really threw me for a loop; to me, the statement in the documented Ghostscript API that warns "At this stage, Ghostscript supports only one instance" is a great relief.

I guess I will need to experiment in several environments and look at (shudder) some of the Perl sources to make sure I can get things working ...

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!