Skip to content

Fix build failures with exiv 0.28.0 on platforms where long != int64_t

John Hein requested to merge jggl/gexiv2:master into master

exiv2 0.28.0 changed the signature for BasicIo::seek() to take int64_t instead of long for its offset arg. gexiv2 0.14.1 still has StreamIo::seek() taking a long. On platforms where long != int64_t, you can hit compiler errors:

In file included from ../gexiv2/gexiv2-metadata.cpp:21: ../gexiv2/gexiv2-stream-io.h:49:39: error: non-virtual member function marked 'override' hides virtual member function int seek (long offset, Position pos) override; ^ /usr/local/include/exiv2/basicio.hpp:165:15: note: hidden overloaded virtual function 'Exiv2::BasicIo::seek' declared here: type mismatch at 1st parameter ('int64_t' (aka 'long long') vs 'long') virtual int seek(int64_t offset, Position pos) = 0;

This commit matches the exiv2 0.28.0 signature for BasicIo::seek()

issue #74 (closed)

Merge request reports