diff --git a/src/basicio.cpp b/src/basicio.cpp index e899d8de..cf2fb20c 100644 --- a/src/basicio.cpp +++ b/src/basicio.cpp @@ -237,15 +237,25 @@ namespace Exiv2 { { int ret = 0; #ifdef EXV_UNICODE_PATH - if (wpMode_ == wpUnicode) { - struct _stat st; - ret = ::_wstat(wpath_.c_str(), &st); +#ifdef _WIN64 + struct _stat64 st; + ret = ::_wstati64(wpath_.c_str(), &st); + if (0 == ret) { buf.st_size = st.st_size; buf.st_mode = st.st_mode; buf.st_nlink = st.st_nlink; } - } +#else + struct _stat st; + ret = ::_wstat(wpath_.c_str(), &st); + + if (0 == ret) { + buf.st_size = st.st_size; + buf.st_mode = st.st_mode; + buf.st_nlink = st.st_nlink; + } +#endif else #endif {