summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-08-25 13:22:32 +0100
committerCarl Hetherington <cth@carlh.net>2013-08-25 13:22:32 +0100
commitb3e7a9625f860e7d83c4077b24fe811eb9941456 (patch)
treef2f12cfb9e98c99bcc5b3a6a5a852223dae7ed20
parentf976e8ac94dfc6130797c5d98a0399321dce43e7 (diff)
parentbbf265955518069c5c841be5fe02a95b60e9197b (diff)
Merge branch 'master' into interop
-rw-r--r--src/metadata.cc27
-rw-r--r--src/metadata.h6
-rw-r--r--test/tests.cc2
-rw-r--r--test/utc_offset_to_string_test.cc (renamed from test/bias_to_string_test.cc)14
-rw-r--r--wscript2
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");
}
diff --git a/wscript b/wscript
index 2ee959a3..4f7291db 100644
--- a/wscript
+++ b/wscript
@@ -2,7 +2,7 @@ import subprocess
import os
APPNAME = 'libdcp'
-VERSION = '0.74pre'
+VERSION = '0.75pre'
def options(opt):
opt.load('compiler_cxx')