From 891f58aa854ba6e6a985d067403d76c00fe48a77 Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Mon, 20 Dec 2021 13:44:44 +0000 Subject: [PATCH] Fix bug in loop. It wasn't iterating over the elements of dateStrings as intended. --- samples/geotag.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/geotag.cpp b/samples/geotag.cpp index 42d856f9..a300ff59 100644 --- a/samples/geotag.cpp +++ b/samples/geotag.cpp @@ -613,9 +613,9 @@ time_t readImageTime(const std::string& path, std::string* pS = nullptr) const char* dateStrings[] = {"Exif.Photo.DateTimeOriginal", "Exif.Photo.DateTimeDigitized", "Exif.Image.DateTime", nullptr}; - const char* dateString = dateStrings[0] ; - do { + for (size_t i = 0; !result && dateStrings[i]; i++) { + const char* dateString = dateStrings[i] ; try { Image::UniquePtr image = ImageFactory::open(path); if ( image.get() ) { @@ -626,7 +626,7 @@ time_t readImageTime(const std::string& path, std::string* pS = nullptr) if ( result && pS ) *pS = exifData[dateString].toString(); } } catch ( ... ) {}; - } while ( !result && ++dateString ); + } return result ; }