From: Dan F. <da...@co...> - 2008-11-27 07:42:15
|
There are a few little changes I think should be made to the libexif API. They should be fully backwards compatible (source and binary), but I thought I'd run them by everyone just in case I missed something. 1) There's no "official" way to give access to the raw EXIF data types-- there's only exif_entry_get_value() which returns a text string. I say official because the exif command-line accesses the raw tag, format, etc. members of the private _ExifEntry struct in order to do this. What should be done is make this official by moving those members into ExifEntry directly, leaving only the remaining members (parent and priv) as private in _ExifEntry. I'm assuming that the split between ExifEntry and _ExifEntry is that the former are part of the API and the latter is supposed to be internal. Someone correct me if I'm wrong, and I suspect I might be because in addition to _ExifEntry there's also an ExifEntryPrivate. This will also require making exif_entry_alloc and exif_entry_realloc public in order to allow users to allocate their own ExifEntry->data members. 2) There's no way to indicate a failure on many of the API functions (e.g. failure to write to a file in exif_loader_write_file(), or an out of memory condition in exif_entry_initialize()). Making these functions return an error code should be backwards compatible since current applications will just ignore the returned value. 3) Several functions would benefit from making a parameter const. Since this is on an input parameter, it should be fully backwards compatible. >>> Dan -- http://www.MoveAnnouncer.com The web change of address service Let webmasters know that your web site has moved |