diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-08-25 13:22:32 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-08-25 13:22:32 +0100 |
| commit | b3e7a9625f860e7d83c4077b24fe811eb9941456 (patch) | |
| tree | f2f12cfb9e98c99bcc5b3a6a5a852223dae7ed20 | |
| parent | f976e8ac94dfc6130797c5d98a0399321dce43e7 (diff) | |
| parent | bbf265955518069c5c841be5fe02a95b60e9197b (diff) | |
Merge branch 'master' into interop
| -rw-r--r-- | src/metadata.cc | 27 | ||||
| -rw-r--r-- | src/metadata.h | 6 | ||||
| -rw-r--r-- | test/tests.cc | 2 | ||||
| -rw-r--r-- | test/utc_offset_to_string_test.cc (renamed from test/bias_to_string_test.cc) | 14 | ||||
| -rw-r--r-- | wscript | 2 |
5 files changed, 28 insertions, 23 deletions
diff --git a/src/metadata.cc b/src/metadata.cc index 5304fd96..bcf5d76c 100644 --- a/src/metadata.cc +++ b/src/metadata.cc @@ -52,25 +52,30 @@ void XMLMetadata::set_issue_date_now () { char buffer[64]; - time_t now; - time (&now); + time_t now = time (0); struct tm* tm = localtime (&now); -#ifdef LIBDCP_POSIX - strftime (buffer, 64, "%Y-%m-%dT%I:%M:%S%z", tm); - issue_date = string (buffer); -#else - /* No %z for strftime on Windows: it will seemingly be interpreted as %Z and will - output some localised string describing the timezone */ strftime (buffer, 64, "%Y-%m-%dT%I:%M:%S", tm); + int offset = 0; + +#ifdef LIBDCP_POSIX + + offset = tm->tm_gmtoff / 60; + +#else TIME_ZONE_INFORMATION tz; GetTimeZoneInformation (&tz); - issue_date = string (buffer) + bias_to_string (tz.Bias); + offset = tz.Bias; #endif + + issue_date = string (buffer) + utc_offset_to_string (offset); } +/** @param b Offset from UTC to local time in minutes. + * @return string of the form e.g. -01:00. + */ string -XMLMetadata::bias_to_string (int b) +XMLMetadata::utc_offset_to_string (int b) { bool const negative = (b < 0); b = negative ? -b : b; @@ -85,6 +90,6 @@ XMLMetadata::bias_to_string (int b) o << "+"; } - o << setw(2) << setfill('0') << hours << setw(2) << setfill('0') << minutes; + o << setw(2) << setfill('0') << hours << ":" << setw(2) << setfill('0') << minutes; return o.str (); } diff --git a/src/metadata.h b/src/metadata.h index 7ba17fa4..d71537fd 100644 --- a/src/metadata.h +++ b/src/metadata.h @@ -26,7 +26,7 @@ #include <string> -class bias_to_string_test; +class utc_offset_to_string_test; namespace libdcp { @@ -53,9 +53,9 @@ public: std::string issue_date; private: - friend class ::bias_to_string_test; + friend class ::utc_offset_to_string_test; - static std::string bias_to_string (int); + static std::string utc_offset_to_string (int); }; } diff --git a/test/tests.cc b/test/tests.cc index 11189558..2543d025 100644 --- a/test/tests.cc +++ b/test/tests.cc @@ -70,7 +70,7 @@ wav (libdcp::Channel) static string test_corpus = "../libdcp-test"; -#include "bias_to_string_test.cc" +#include "utc_offset_to_string_test.cc" #include "lut_test.cc" #include "util_test.cc" #include "decryption_test.cc" diff --git a/test/bias_to_string_test.cc b/test/utc_offset_to_string_test.cc index 56df40ea..6ea597f0 100644 --- a/test/bias_to_string_test.cc +++ b/test/utc_offset_to_string_test.cc @@ -19,12 +19,12 @@ #include "metadata.h" -/** Test XMLMetadata::bias_to_string */ -BOOST_AUTO_TEST_CASE (bias_to_string_test) +/** Test XMLMetadata::utc_offset_to_string */ +BOOST_AUTO_TEST_CASE (utc_offset_to_string_test) { - BOOST_CHECK_EQUAL (libdcp::XMLMetadata::bias_to_string (30), "+0030"); - BOOST_CHECK_EQUAL (libdcp::XMLMetadata::bias_to_string (60), "+0100"); - BOOST_CHECK_EQUAL (libdcp::XMLMetadata::bias_to_string (61), "+0101"); - BOOST_CHECK_EQUAL (libdcp::XMLMetadata::bias_to_string (7 * 60), "+0700"); - BOOST_CHECK_EQUAL (libdcp::XMLMetadata::bias_to_string (-11 * 60), "-1100"); + BOOST_CHECK_EQUAL (libdcp::XMLMetadata::utc_offset_to_string (30), "+00:30"); + BOOST_CHECK_EQUAL (libdcp::XMLMetadata::utc_offset_to_string (60), "+01:00"); + BOOST_CHECK_EQUAL (libdcp::XMLMetadata::utc_offset_to_string (61), "+01:01"); + BOOST_CHECK_EQUAL (libdcp::XMLMetadata::utc_offset_to_string (7 * 60), "+07:00"); + BOOST_CHECK_EQUAL (libdcp::XMLMetadata::utc_offset_to_string (-11 * 60), "-11:00"); } @@ -2,7 +2,7 @@ import subprocess import os APPNAME = 'libdcp' -VERSION = '0.74pre' +VERSION = '0.75pre' def options(opt): opt.load('compiler_cxx') |
