]> git.sesse.net Git - ccbs/blobdiff - bigscreen/widestring.cpp
Some C++ fixes for slightly stricter GCC.
[ccbs] / bigscreen / widestring.cpp
index 9193586379e63b7474ed9f57df0826aeb214b1be..a0d781a4edf5d22ded01667e4e84bc259c522670 100644 (file)
@@ -1,3 +1,5 @@
+#include <stdlib.h>
+#include <cstring>
 #include <iconv.h>
 #include <endian.h>
 #include <exception>
@@ -16,6 +18,16 @@ widestring::widestring(const char *from)
        *this = from;
 }
 
+widestring::widestring(const std::string &from)
+{
+       *this = from.c_str();
+}
+
+widestring::widestring(const std::wstring &from)
+       : std::wstring(from)
+{
+}
+
 void widestring::operator= (const char *from)
 {
        if (!iconv_initialized) {
@@ -55,9 +67,13 @@ void widestring::operator= (const char *from)
        delete[] to_buf;
 }
 
+namespace pqxx
+{
+
 template<>
-void pqxx::from_string<widestring>(const char *from, widestring &to)
+void from_string<widestring>(const char *from, widestring &to)
 {
        to = from;
 }
 
+}