[Freeciv-Dev] Re: (PR#2559) Font problem under BeOS
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Apparently "" isn't supported for the to-code on all iconv versions.
Hopefully "char" is more standard.
jason
Index: client/gui-sdl/gui_iconv.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/client/gui-sdl/gui_iconv.c,v
retrieving revision 1.3
diff -u -r1.3 gui_iconv.c
--- client/gui-sdl/gui_iconv.c 2003/01/24 21:21:42 1.3
+++ client/gui-sdl/gui_iconv.c 2003/01/28 21:20:43
@@ -44,14 +44,13 @@
Uint16 *convert_to_utf16(const char *pString)
{
/* Start Parametrs */
- const char *pTocode = "UTF-16";
- const char *pFromcode = LOCAL_CODE;
+ const char *pTocode = "UTF-16LE";
+ const char *pFromcode = "char";
const char *pStart = pString;
const char *pEnd = pString + strlen(pString);
/* ===== */
char *pResult = NULL;
- int iIter;
/* From 8 bit code to UTF-16 (16 bit code)
size_t length = 2*(strlen(pString)+1); */
@@ -72,7 +71,7 @@
/* Do the conversion for real. */
{
const char *pInptr = pStart;
- size_t Insize = pEnd - pStart;
+ size_t Insize = pEnd - pStart + 1;
char *pOutptr = pResult;
size_t Outsize = length;
@@ -109,13 +108,6 @@
}
}
- /* Bug Corection */
- for (iIter = 0; iIter < length - 2; iIter++) {
- pResult[iIter] = pResult[iIter + 2];
- }
- pResult[length - 2] = 0;
- pResult[length - 1] = 0;
-
iconv_close(cd);
return (Uint16 *) pResult;
@@ -127,14 +119,13 @@
Uint16 *convertcopy_to_utf16(Uint16 * pToString, const char *pFromString)
{
/* Start Parametrs */
- const char *pTocode = "UTF-16";
- const char *pFromcode = LOCAL_CODE;
+ const char *pTocode = "UTF-16LE";
+ const char *pFromcode = "char";
const char *pStart = pFromString;
const char *pEnd = pFromString + strlen(pFromString);
/* ===== */
char *pResult = (char *) pToString;
- int iIter;
/* From 8 bit code to UTF-16 (16 bit code)
size_t length = 2*(strlen(pString)+1); */
@@ -157,7 +148,7 @@
/* Do the conversion for real. */
{
const char *pInptr = pStart;
- size_t Insize = pEnd - pStart;
+ size_t Insize = pEnd - pStart + 1;
char *pOutptr = pResult;
size_t Outsize = length;
@@ -191,13 +182,6 @@
abort();
}
}
-
- /* Bug Corection */
- for (iIter = 0; iIter < length - 2; iIter++) {
- pResult[iIter] = pResult[iIter + 2];
- }
- pResult[length - 2] = 0;
- pResult[length - 1] = 0;
iconv_close(cd);
|
|