From: Youness Alaoui Date: Sun, 9 Jan 2011 01:49:27 +0000 (-0500) Subject: iconv and xml APIs use char **, not const char **. Fix it X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=1da65b614e0f3733116db4779909743dcde0d5fe;p=console%2FRCOMage.git iconv and xml APIs use char **, not const char **. Fix it --- diff --git a/rcodump.c b/rcodump.c index 0cff57e..3433e68 100644 --- a/rcodump.c +++ b/rcodump.c @@ -465,7 +465,7 @@ void dump_text_resources(char* labels, rRCOEntry* parent, Bool writeHeader, char } */ uint nullsStripped = 0; while(dataLen) { - iconv(ic, (const char**)(&bufIn), (size_t*)(&dataLen), &bufOut, (size_t*)(&outBufLen)); + iconv(ic, (&bufIn), (size_t*)(&dataLen), &bufOut, (size_t*)(&outBufLen)); if(buf == bufOut) { warning("iconv failed when converting resource '%s'.", get_label_from_offset(labels, idx->labelOffset)); break; diff --git a/xmlread.c b/xmlread.c index dfb1e81..9750f6f 100644 --- a/xmlread.c +++ b/xmlread.c @@ -584,8 +584,8 @@ void parse_entry(xmlNodePtr node, rRCOEntry* entry, rRCOFile* rco, rcoxml_read_f fileread(fp, fBuf, fSize); iconv_t ic = iconv_open(destFmt, srcFmt); // get rid of BOM made by iconv - iconv(ic, (const char**)(&fBuf), (size_t*)(&fSize), (char**)&bom, (size_t*)(&bomLen)); - iconv(ic, (const char**)(&fBuf), (size_t*)(&fSize), (char**)&bufferPos, (size_t*)(&te->indexes[i].length)); + iconv(ic, (char**)(&fBuf), (size_t*)(&fSize), (char**)&bom, (size_t*)(&bomLen)); + iconv(ic, (char**)(&fBuf), (size_t*)(&fSize), (char**)&bufferPos, (size_t*)(&te->indexes[i].length)); iconv_close(ic); } else fileread(fp, bufferPos, te->indexes[i].length); @@ -1474,9 +1474,9 @@ Bool parse_text_xml(char* fn, rRCOFile* rco, rRCOEntry* entry) { char bom[4]; char *bomPtr = bom; uint bomLen = (fmt == RCO_TEXT_FMT_UTF32 ? 4 : (fmt == RCO_TEXT_FMT_UTF8 ? 3 : 2)); - iconv(ic, (const char**)(&n), (size_t*)(&contentLen), (char**)&bomPtr, (size_t*)(&bomLen)); + iconv(ic, (char**)(&n), (size_t*)(&contentLen), (char**)&bomPtr, (size_t*)(&bomLen)); } - iconv(ic, (const char**)(&n), (size_t*)(&contentLen), &tbPtr, (size_t*)(&outBufLen)); + iconv(ic, (char**)(&n), (size_t*)(&contentLen), &tbPtr, (size_t*)(&outBufLen)); if(outBufLen && outBufLen == charWidth) { // *should* always be true memset(tbPtr, 0, ALIGN_TO_4(te->indexes[i].length) - (te->indexes[i].length-outBufLen)); } else