summaryrefslogtreecommitdiff
path: root/src/lib/util.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-08-10 16:38:33 +0100
committerCarl Hetherington <cth@carlh.net>2016-08-12 09:13:51 +0100
commitb1dc9c3a2f7e55c9afc5bf2d5b465371b048e14f (patch)
tree9968238c6c0511f044e6fcdb4abcc08b5eb28f27 /src/lib/util.cc
parent4a0ae92e28d7d1f0dd648d1b620efc324fdef161 (diff)
Remove all use of stringstream in an attempt to fix
the suspected thread-unsafe crash bugs on OS X.
Diffstat (limited to 'src/lib/util.cc')
-rw-r--r--src/lib/util.cc30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 1cf71ba32..5e870f1e2 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -36,7 +36,6 @@
#include "digester.h"
#include "audio_processor.h"
#include "compose.hpp"
-#include <locked_sstream.h>
#include <dcp/util.h>
#include <dcp/picture_asset.h>
#include <dcp/sound_asset.h>
@@ -115,14 +114,9 @@ seconds_to_hms (int s)
int h = m / 60;
m -= (h * 60);
- locked_stringstream hms;
- hms << h << N_(":");
- hms.width (2);
- hms << setfill ('0') << m << N_(":");
- hms.width (2);
- hms << setfill ('0') << s;
-
- return hms.str ();
+ char buffer[64];
+ snprintf (buffer, sizeof(buffer), "%d:%02d:%02d", h, m, s);
+ return buffer;
}
/** @param s Number of seconds.
@@ -136,7 +130,7 @@ seconds_to_approximate_hms (int s)
int h = m / 60;
m -= (h * 60);
- locked_stringstream ap;
+ string ap;
bool const hours = h > 0;
bool const minutes = h < 6 && m > 0;
@@ -145,14 +139,14 @@ seconds_to_approximate_hms (int s)
if (hours) {
if (m > 30 && !minutes) {
/// TRANSLATORS: h here is an abbreviation for hours
- ap << (h + 1) << _("h");
+ ap += raw_convert<string>(h + 1) + _("h");
} else {
/// TRANSLATORS: h here is an abbreviation for hours
- ap << h << _("h");
+ ap += raw_convert<string>(h) + _("h");
}
if (minutes || seconds) {
- ap << N_(" ");
+ ap += N_(" ");
}
}
@@ -160,24 +154,24 @@ seconds_to_approximate_hms (int s)
/* Minutes */
if (s > 30 && !seconds) {
/// TRANSLATORS: m here is an abbreviation for minutes
- ap << (m + 1) << _("m");
+ ap += raw_convert<string>(m + 1) + _("m");
} else {
/// TRANSLATORS: m here is an abbreviation for minutes
- ap << m << _("m");
+ ap += raw_convert<string>(m) + _("m");
}
if (seconds) {
- ap << N_(" ");
+ ap += N_(" ");
}
}
if (seconds) {
/* Seconds */
/// TRANSLATORS: s here is an abbreviation for seconds
- ap << s << _("s");
+ ap += raw_convert<string>(s) + _("s");
}
- return ap.str ();
+ return ap;
}
double