@@ -782,7 +782,7 @@ void Converter::cnvExifFlash(const char* from, const char* to) {
782782 return ;
783783 if (!prepareXmpTarget (to))
784784 return ;
785- auto value = pos->toInt64 ();
785+ auto value = pos->toUint32 ();
786786 if (!pos->value ().ok ()) {
787787#ifndef SUPPRESS_WARNINGS
788788 EXV_WARNING << " Failed to convert " << from << " to " << to << " \n " ;
@@ -1052,7 +1052,7 @@ void Converter::cnvXmpFlash(const char* from, const char* to) {
10521052 unsigned short value = 0 ;
10531053
10541054 if (pos != xmpData_->end () && pos->count () > 0 ) {
1055- auto fired = pos->toInt64 ();
1055+ auto fired = pos->toUint32 ();
10561056 if (pos->value ().ok ())
10571057 value |= fired & 1 ;
10581058#ifndef SUPPRESS_WARNINGS
@@ -1063,7 +1063,7 @@ void Converter::cnvXmpFlash(const char* from, const char* to) {
10631063 }
10641064 pos = xmpData_->findKey (XmpKey (std::string (from) + " /exif:Return" ));
10651065 if (pos != xmpData_->end () && pos->count () > 0 ) {
1066- auto ret = pos->toInt64 ();
1066+ auto ret = pos->toUint32 ();
10671067 if (pos->value ().ok ())
10681068 value |= (ret & 3 ) << 1 ;
10691069#ifndef SUPPRESS_WARNINGS
@@ -1074,7 +1074,7 @@ void Converter::cnvXmpFlash(const char* from, const char* to) {
10741074 }
10751075 pos = xmpData_->findKey (XmpKey (std::string (from) + " /exif:Mode" ));
10761076 if (pos != xmpData_->end () && pos->count () > 0 ) {
1077- auto mode = pos->toInt64 ();
1077+ auto mode = pos->toUint32 ();
10781078 if (pos->value ().ok ())
10791079 value |= (mode & 3 ) << 3 ;
10801080#ifndef SUPPRESS_WARNINGS
@@ -1085,7 +1085,7 @@ void Converter::cnvXmpFlash(const char* from, const char* to) {
10851085 }
10861086 pos = xmpData_->findKey (XmpKey (std::string (from) + " /exif:Function" ));
10871087 if (pos != xmpData_->end () && pos->count () > 0 ) {
1088- auto function = pos->toInt64 ();
1088+ auto function = pos->toUint32 ();
10891089 if (pos->value ().ok ())
10901090 value |= (function & 1 ) << 5 ;
10911091#ifndef SUPPRESS_WARNINGS
@@ -1097,7 +1097,7 @@ void Converter::cnvXmpFlash(const char* from, const char* to) {
10971097 pos = xmpData_->findKey (XmpKey (std::string (from) + " /exif:RedEyeMode" ));
10981098 if (pos != xmpData_->end ()) {
10991099 if (pos->count () > 0 ) {
1100- auto red = pos->toInt64 ();
1100+ auto red = pos->toUint32 ();
11011101 if (pos->value ().ok ())
11021102 value |= (red & 1 ) << 6 ;
11031103#ifndef SUPPRESS_WARNINGS
0 commit comments