OSDN Git Service

Fix ANSI build breakage 2.13.20+-jp-3
authorsdottaka <none@none>
Sun, 26 Jun 2011 17:31:49 +0000 (02:31 +0900)
committersdottaka <none@none>
Sun, 26 Jun 2011 17:31:49 +0000 (02:31 +0900)
Src/Common/unicoder.cpp
Src/Common/unicoder.h
Src/ProjectFile.cpp

index 781308f..ce09bff 100644 (file)
@@ -1062,15 +1062,15 @@ void buffer::resize(unsigned int newSize)
        }
 }
 
-unsigned char *convertTtoUTF8(buffer * buf, LPCTSTR src, int srcbytes/* = -1*/)
+unsigned char *convertTtoUTF8(buffer * buf, LPCTSTR src, int srcbytes/* = -1*/)
 {
        bool bSucceeded;
 #ifdef _UNICODE
        bSucceeded = convert(1200, 
-               (unsigned char *)src, (srcbytes < 0) ? wcslen((const wchar_t *)src) : srcbytes,
+               (unsigned char *)src, (srcbytes < 0) ? wcslen((const wchar_t *)src) * sizeof(wchar_t) : srcbytes,
                CP_UTF8, buf);
 #else
-       bSucceeded = convert(GetACP(),
+       bSucceeded = convert(GetACP(),  
                (unsigned char *)src, (srcbytes < 0) ? strlen((const char *)src) : srcbytes,
                CP_UTF8, buf);
 #endif
@@ -1079,14 +1079,14 @@ unsigned char *convertTtoUTF8(buffer * buf, LPCTSTR * src, int srcbytes/* = -1*/
        return buf->ptr;
 }
 
-unsigned char *convertTtoUTF8(LPCTSTR src, int srcbytes/* = -1*/)
+unsigned char *convertTtoUTF8(LPCTSTR src, int srcbytes/* = -1*/)
 {
        buffer buf(256);
        convertTtoUTF8(&buf, src, srcbytes);
        return (unsigned char *)strdup((const char *)buf.ptr);
 }
 
-TCHAR *convertUTF8toT(buffer * buf, LPCSTR src, int srcbytes/* = -1*/)
+TCHAR *convertUTF8toT(buffer * buf, LPCSTR src, int srcbytes/* = -1*/)
 {
        bool bSucceeded;
 #ifdef _UNICODE
@@ -1103,7 +1103,7 @@ TCHAR *convertUTF8toT(buffer * buf, LPCSTR * src, int srcbytes/* = -1*/)
        return (TCHAR *)buf->ptr;
 }
 
-TCHAR *convertUTF8toT(LPCSTR src, int srcbytes/* = -1*/)
+TCHAR *convertUTF8toT(LPCSTR src, int srcbytes/* = -1*/)
 {
        buffer buf(256);
        convertUTF8toT(&buf, src, srcbytes);
index d4d0fc5..75d78e3 100644 (file)
@@ -97,10 +97,10 @@ void getInternalEncoding(UNICODESET * unicoding, int * codepage);
 bool convert(UNICODESET unicoding1, int codepage1, const unsigned char * src, int srcbytes, UNICODESET unicoding2, int codepage2, buffer * dest);
 bool convert(int codepage1, const unsigned char * src, int srcbytes, int codepage2, buffer * dest);
 
-unsigned char *convertTtoUTF8(buffer * dest, LPCTSTR src, int srcbytes = -1);
-unsigned char *convertTtoUTF8(LPCTSTR * src, int srcbytes/* = -1*/);
-TCHAR *convertUTF8toT(buffer * dest, const char* src, int srcbytes = -1);
-TCHAR *convertUTF8toT(const char* * src, int srcbytes/* = -1*/);
+unsigned char *convertTtoUTF8(buffer * dest, LPCTSTR src, int srcbytes = -1);
+unsigned char *convertTtoUTF8(LPCTSTR src, int srcbytes = -1);
+TCHAR *convertUTF8toT(buffer * dest, const char* src, int srcbytes = -1);
+TCHAR *convertUTF8toT(const char* src, int srcbytes = -1);
 void dealloc(void *ptr);
 
 int CrossConvert(const char* src, unsigned int srclen, char* dest, unsigned int destsize, int cpin, int cpout, bool * lossy);
index f59bdf2..9297842 100755 (executable)
@@ -24,6 +24,7 @@
 
 #include "stdafx.h"
 #include <scew/scew.h>
+#include "unicoder.h"
 #include "UnicodeString.h"
 #include "UCS2UTF8.h"
 #include "ProjectFile.h"
@@ -43,17 +44,17 @@ const char Right_ro_element_name[] = "right-readonly";
 
 static String UTF82T(const char *str)
 {
-       wchar_t *ucs2 = UCS2UTF8_ConvertToUcs2(str ? str : "");
-       String newstr(ucs2);
-       UCS2UTF8_Dealloc(ucs2);
+       TCHAR *tstr = ucr::convertUTF8toT(str ? str : "");
+       String newstr(tstr);
+       free(tstr);
        return newstr;
 }
 
 static std::string T2UTF8(const TCHAR *str)
 {
-       char *utf8 = UCS2UTF8_ConvertToUtf8(str ? str : _T(""));
+       char *utf8 = (char *)ucr::convertTtoUTF8(str ? str : _T(""));
        std::string newstr(utf8);
-       UCS2UTF8_Dealloc(utf8);
+       free(utf8);
        return newstr;
 }