From bb9773adf0a4d066410ca60a1e5edf3e0d6ad7c9 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Tue, 21 Mar 2023 20:19:35 +0000 Subject: cleanup git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4524 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- converter/other/exif.c | 23 +++++++++-------------- converter/other/exif.h | 2 ++ 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/converter/other/exif.c b/converter/other/exif.c index 59a727fe..7756ce55 100644 --- a/converter/other/exif.c +++ b/converter/other/exif.c @@ -491,8 +491,6 @@ processDirEntry(const unsigned char * const dirEntry, ByteOrder const byteOrder, bool const wantTagTrace, exif_ifd * const ifdP, - unsigned int * const thumbnailOffsetP, - unsigned int * const thumbnailSizeP, const char ** const errorP) { int const tag = get16u(&dirEntry[0], byteOrder); @@ -745,12 +743,12 @@ processDirEntry(const unsigned char * const dirEntry, break; case TAG_THUMBNAIL_OFFSET: - *thumbnailOffsetP = (unsigned int) + ifdP->thumbnailOffset = (unsigned int) numericValue(valuePtr, format, byteOrder); break; case TAG_THUMBNAIL_LENGTH: - *thumbnailSizeP = (unsigned int) + ifdP->thumbnailLength = (unsigned int) numericValue(valuePtr, format, byteOrder); break; @@ -795,8 +793,6 @@ processIfd(const unsigned char * const exifData, unsigned int const numDirEntries = get16u(&dirStart[0], byteOrder); unsigned int de; - unsigned int thumbnailOffset; - unsigned int thumbnailSize; *errorP = NULL; /* initial value */ @@ -805,14 +801,13 @@ processIfd(const unsigned char * const exifData, if (wantTagTrace) pm_message("Directory with %u entries", numDirEntries); - thumbnailOffset = 0; /* initial value */ - thumbnailSize = 0; /* initial value */ + ifdP->thumbnailOffset = 0; /* initial value */ + ifdP->thumbnailLength = 0; /* initial value */ for (de = 0; de < numDirEntries && !*errorP; ++de) { const char * error; processDirEntry(DIR_ENTRY_ADDR(dirStart, de), exifData, exifLength, byteOrder, wantTagTrace, ifdP, - &thumbnailOffset, &thumbnailSize, &error); if (error) { @@ -859,14 +854,14 @@ processIfd(const unsigned char * const exifData, } } - if (thumbnailSize && thumbnailOffset) { - if (thumbnailSize + thumbnailOffset <= exifLength) { + if (ifdP->thumbnailLength && ifdP->thumbnailOffset) { + if (ifdP->thumbnailOffset + ifdP->thumbnailLength <= exifLength) { /* The thumbnail pointer appears to be valid. Store it. */ - ifdP->thumbnail = exifData + thumbnailOffset; - ifdP->thumbnailSize = thumbnailSize; + ifdP->thumbnail = exifData + ifdP->thumbnailOffset; + ifdP->thumbnailSize = ifdP->thumbnailLength; if (wantTagTrace) { - fprintf(stderr, "Thumbnail size: %u bytes\n", thumbnailSize); + pm_message("Thumbnail size: %u bytes", ifdP->thumbnailSize); } } } diff --git a/converter/other/exif.h b/converter/other/exif.h index d06a1185..c2e6722d 100644 --- a/converter/other/exif.h +++ b/converter/other/exif.h @@ -40,6 +40,8 @@ typedef struct { int isoEquivalent; int compressionLevel; char comments[MAX_COMMENT]; + unsigned int thumbnailOffset; + unsigned int thumbnailLength; const unsigned char * thumbnail; /* Pointer at the thumbnail */ unsigned thumbnailSize; /* Size of thumbnail. */ -- cgit 1.4.1