X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fcharsetconverter.cpp;h=373f53dd1c69428c04ca8a03b979b82f21163661;hb=HEAD;hp=30262076b1bfbff8c617a149c141b09200f9cf94;hpb=0236076defe60bcd4b3a25c23efa53c21993a48e;p=fms.git diff --git a/src/charsetconverter.cpp b/src/charsetconverter.cpp index 3026207..373f53d 100644 --- a/src/charsetconverter.cpp +++ b/src/charsetconverter.cpp @@ -47,9 +47,14 @@ const bool CharsetConverter::Convert(const std::string &input, std::string &outp { if(m_iconv!=(iconv_t)-1) { + if(input.size()==0) + { + return true; + } + std::vector invec(input.begin(),input.end()); std::vector outvec(invec.size()*4,0); -#if defined(_WIN32) || defined(__APPLE__) || defined(__DARWIN__) +#if defined(_WIN32) || defined(__FreeBSD__)//|| defined(__APPLE__) || defined(__DARWIN__) const char *inptr=&invec[0]; #else char *inptr=&invec[0]; @@ -57,6 +62,7 @@ const bool CharsetConverter::Convert(const std::string &input, std::string &outp char *outptr=&outvec[0]; size_t insize=invec.size(); size_t outsize=outvec.size(); + size_t rval=0; rval=iconv(m_iconv,&inptr,&insize,&outptr,&outsize);