summaryrefslogtreecommitdiff
path: root/src/lib/log_entry.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/log_entry.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/log_entry.cc')
-rw-r--r--src/lib/log_entry.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/lib/log_entry.cc b/src/lib/log_entry.cc
index 53605c389..18eed4894 100644
--- a/src/lib/log_entry.cc
+++ b/src/lib/log_entry.cc
@@ -19,7 +19,7 @@
*/
#include "log_entry.h"
-#include <locked_sstream.h>
+#include <inttypes.h>
#include "i18n.h"
@@ -42,28 +42,30 @@ LogEntry::LogEntry (int type)
string
LogEntry::get () const
{
- locked_stringstream s;
+ string s;
if (_type & TYPE_TIMING) {
- s << _time.tv_sec << ":" << _time.tv_usec << " ";
+ char buffer[64];
+ snprintf (buffer, sizeof(buffer), "%" PRId64 ":%" PRId64 " ", static_cast<int64_t> (_time.tv_sec), static_cast<int64_t> (_time.tv_usec));
+ s += buffer;
} else {
char buffer[64];
time_t const sec = _time.tv_sec;
struct tm* t = localtime (&sec);
strftime (buffer, 64, "%c", t);
string a (buffer);
- s << a << N_(": ");
+ s += string(buffer) + N_(": ");
}
if (_type & TYPE_ERROR) {
- s << "ERROR: ";
+ s += "ERROR: ";
}
if (_type & TYPE_WARNING) {
- s << "WARNING: ";
+ s += "WARNING: ";
}
- s << message ();
- return s.str ();
+ s += message ();
+ return s;
}
double