From 3c93561190ceb883db6b69c1cd37d99cd547fe83 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 15 Aug 2016 10:09:45 +0100 Subject: Rationalise raw/locale_convert stuff and fix build on OS X. --- src/locale_convert.cc | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) (limited to 'src/locale_convert.cc') diff --git a/src/locale_convert.cc b/src/locale_convert.cc index 3858006e..64b21274 100644 --- a/src/locale_convert.cc +++ b/src/locale_convert.cc @@ -51,25 +51,51 @@ string dcp::locale_convert (unsigned int x, int, bool) { char buffer[64]; - snprintf (buffer, sizeof(buffer), "%ud", x); + snprintf (buffer, sizeof(buffer), "%u", x); return buffer; } template<> string -dcp::locale_convert (int64_t x, int, bool) +dcp::locale_convert (long int x, int, bool) { char buffer[64]; - snprintf (buffer, sizeof(buffer), "%" PRId64, x); + snprintf (buffer, sizeof(buffer), "%ld", x); return buffer; } template<> string -dcp::locale_convert (uint64_t x, int, bool) +dcp::locale_convert (unsigned long int x, int, bool) { char buffer[64]; - snprintf (buffer, sizeof(buffer), "%" PRIu64, x); + snprintf (buffer, sizeof(buffer), "%lu", x); + return buffer; +} + +template<> +string +dcp::locale_convert (long long int x, int, bool) +{ + char buffer[64]; +#ifdef LIBDCP_WINDOWS + __mingw_snprintf (buffer, sizeof(buffer), "%lld", x); +#else + snprintf (buffer, sizeof(buffer), "%lld", x); +#endif + return buffer; +} + +template<> +string +dcp::locale_convert (unsigned long long int x, int, bool) +{ + char buffer[64]; +#ifdef LIBDCP_WINDOWS + __mingw_snprintf (buffer, sizeof(buffer), "%llu", x); +#else + snprintf (buffer, sizeof(buffer), "%llu", x); +#endif return buffer; } @@ -124,6 +150,13 @@ dcp::locale_convert (char const * x, int, bool) return x; } +template<> +string +dcp::locale_convert (boost::filesystem::path x, int, bool) +{ + return x.string(); +} + template<> int dcp::locale_convert (string x, int, bool) -- cgit v1.2.3