ExifData* load_file (file_t* file) { ExifData* ed = exif_data_new (); exif_data_unset_option (ed, EXIF_DATA_OPTION_FOLLOW_SPECIFICATION); exif_data_set_option (ed, EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS); exif_data_load_data (ed, file->addr, file->st.st_size); return ed; }
/* Like exif_data_new_from_data(), but don't default missing fields. * * If we do exif_data_new_from_data(), then missing fields are set to * their default value and we won't know about it. */ static ExifData * vips_exif_load_data_without_fix( void *data, int length ) { ExifData *ed; if( !(ed = exif_data_new()) ) { vips_error( "exif", "%s", _( "unable to init exif" ) ); return( NULL ); } exif_data_unset_option( ed, EXIF_DATA_OPTION_FOLLOW_SPECIFICATION ); exif_data_load_data( ed, data, length ); return( ed ); }