diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-08-10 16:38:33 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-08-12 09:13:51 +0100 |
| commit | b1dc9c3a2f7e55c9afc5bf2d5b465371b048e14f (patch) | |
| tree | 9968238c6c0511f044e6fcdb4abcc08b5eb28f27 /src/lib/log_entry.cc | |
| parent | 4a0ae92e28d7d1f0dd648d1b620efc324fdef161 (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.cc | 18 |
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 |
