diff options
Diffstat (limited to 'src/compose.hpp')
| -rw-r--r-- | src/compose.hpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/compose.hpp b/src/compose.hpp index b78a8b9e..4ce60e33 100644 --- a/src/compose.hpp +++ b/src/compose.hpp @@ -124,31 +124,39 @@ namespace StringPrivate inline void write(std::string& s, const int64_t& obj) { char buffer[64]; +#ifdef LIBDCP_WINDOWS + __mingw_snprintf(buffer, 64, "%" PRId64, obj); +#else snprintf(buffer, 64, "%" PRId64, obj); +#endif s += buffer; } template <> - inline void write(std::string& s, const int& obj) + inline void write(std::string& s, const uint64_t& obj) { char buffer[64]; - snprintf(buffer, 64, "%d", obj); +#ifdef LIBDCP_WINDOWS + __mingw_snprintf(buffer, 64, "%" PRIu64, obj); +#else + snprintf(buffer, 64, "%" PRIu64, obj); +#endif s += buffer; } template <> - inline void write(std::string& s, const unsigned int& obj) + inline void write(std::string& s, const int& obj) { char buffer[64]; - snprintf(buffer, 64, "%ud", obj); + snprintf(buffer, 64, "%d", obj); s += buffer; } template <> - inline void write(std::string& s, const long unsigned int& obj) + inline void write(std::string& s, const unsigned int& obj) { char buffer[64]; - snprintf(buffer, 64, "%lu", obj); + snprintf(buffer, 64, "%ud", obj); s += buffer; } |
