I'm encountering a problem with writing IPTC to pictures from Nikon cameras. 

The details:

I'm using the windows port of version 0.2.1.
If I attempt operations on any Nikon images (from D200, D80, or 970 models) I'm unable to write any data.
If I use the iptctool on the images to read them, it crashes.
In the debugger, iptc_jpeg_read_ps3() returns a massive value, almost the size of the entire image.
When I call iptc_jpeg_save_with_ps3(), it always returns -1.
If I use Irfanview to save some IPTC data, then the library works fine on the picture.
My code seems to work fine for other images, but not Nikon...

Some sample images can be found here:


Does anyone have a suggested fix or workaround for this?   I haven't started to dig into the library code yet...