summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/export_filename.h3
-rw-r--r--libs/ardour/export_filename.cc5
2 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/ardour/export_filename.h b/libs/ardour/ardour/export_filename.h
index 7eacc11b90..3761f97cb6 100644
--- a/libs/ardour/ardour/export_filename.h
+++ b/libs/ardour/ardour/export_filename.h
@@ -112,8 +112,7 @@ class LIBARDOUR_API ExportFilename {
TimeFormat time_format;
std::string get_formatted_time (std::string const & format) const;
- // Due to the static allocation used in strftime(), no destructor or copy-ctor is needed for this
- struct tm * time_struct;
+ struct tm time_struct;
ExportTimespanPtr timespan;
ExportChannelConfigPtr channel_config;
diff --git a/libs/ardour/export_filename.cc b/libs/ardour/export_filename.cc
index 19ead2d026..201abb934b 100644
--- a/libs/ardour/export_filename.cc
+++ b/libs/ardour/export_filename.cc
@@ -26,6 +26,7 @@
#include "pbd/xml++.h"
#include "pbd/convert.h"
#include "pbd/enumwriter.h"
+#include "pbd/localtime_r.h"
#include "ardour/libardour_visibility.h"
#include "ardour/session.h"
@@ -62,7 +63,7 @@ ExportFilename::ExportFilename (Session & session) :
{
time_t rawtime;
std::time (&rawtime);
- time_struct = localtime (&rawtime);
+ localtime_r (&rawtime, &time_struct);
folder = session.session_directory().export_path();
@@ -339,7 +340,7 @@ string
ExportFilename::get_formatted_time (string const & format) const
{
char buffer [80];
- strftime (buffer, 80, format.c_str(), time_struct);
+ strftime (buffer, 80, format.c_str(), &time_struct);
string return_value (buffer);
return return_value;