From 45fe6c4b0efcd807dd67bb1bcdc5e104583332ae Mon Sep 17 00:00:00 2001 From: Sascha Volkenandt Date: Fri, 5 Jan 2007 19:38:54 +0000 Subject: - moved pagelib back to plugin - incorporated all code into one shared object --- tools.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tools.cpp (limited to 'tools.cpp') diff --git a/tools.cpp b/tools.cpp new file mode 100644 index 0000000..e1d9a03 --- /dev/null +++ b/tools.cpp @@ -0,0 +1,40 @@ +#include +#include +#include "live.h" +#include "setup.h" +#include "tools.h" + +namespace vdrlive { + +using namespace std; + +string FormatDateTime( char const* format, time_t time ) +{ + struct tm tm_r; + if ( localtime_r( &time, &tm_r ) == 0 ) { + ostringstream builder; + builder << "cannot represent timestamp " << time << " as local time"; + throw runtime_error( builder.str() ); + } + + char result[ 256 ]; + if ( strftime( result, sizeof( result ), format, &tm_r ) == 0 ) { + ostringstream builder; + builder << "representation of timestamp " << time << " exceeds " << sizeof( result ) << " bytes"; + throw runtime_error( builder.str() ); + } + return result; +} + +string StringReplace( string const& text, string const& substring, string const& replacement ) +{ + string result = text; + string::size_type pos = 0; + while ( ( pos = result.find( substring, pos ) ) != string::npos ) { + result.replace( pos, substring.length(), replacement ); + pos += replacement.length(); + } + return result; +} + +} -- cgit v1.2.3