version 0.3.33
[fms.git] / src / charsetconverter.cpp
index 3026207..373f53d 100644 (file)
@@ -47,9 +47,14 @@ const bool CharsetConverter::Convert(const std::string &input, std::string &outp
 {\r
        if(m_iconv!=(iconv_t)-1)\r
        {\r
+               if(input.size()==0)\r
+               {\r
+                       return true;\r
+               }\r
+\r
                std::vector<char> invec(input.begin(),input.end());\r
                std::vector<char> outvec(invec.size()*4,0);\r
-#if defined(_WIN32) || defined(__APPLE__) || defined(__DARWIN__)\r
+#if defined(_WIN32) || defined(__FreeBSD__)//|| defined(__APPLE__) || defined(__DARWIN__)\r
                const char *inptr=&invec[0];\r
 #else\r
                char *inptr=&invec[0];\r
@@ -57,6 +62,7 @@ const bool CharsetConverter::Convert(const std::string &input, std::string &outp
                char *outptr=&outvec[0];\r
                size_t insize=invec.size();\r
                size_t outsize=outvec.size();\r
+\r
                size_t rval=0;\r
                \r
                rval=iconv(m_iconv,&inptr,&insize,&outptr,&outsize);\r