Call nsIUnicharEncoder::Finish to ensure the converted string is terminated,

bug 179392, r=shanjian, sr=bzbarsky
This commit is contained in:
nhotta%netscape.com 2002-11-13 21:56:01 +00:00
Родитель be8786baf7
Коммит 3909e87067
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -97,7 +97,14 @@ NS_IMETHODIMP nsTextToSubURI::ConvertAndEscape(
outlen = 255;
pBuf = buf;
}
PRInt32 bufLen = outlen;
if(NS_SUCCEEDED(rv = encoder->Convert(text,&ulen, pBuf, &outlen))) {
// put termination characters (e.g. ESC(B of ISO-2022-JP) if necessary
PRInt32 finLen = bufLen - outlen;
if (finLen > 0) {
if (NS_SUCCEEDED(encoder->Finish((char *)(pBuf+outlen), &finLen)))
outlen += finLen;
}
pBuf[outlen] = '\0';
*_retval = nsEscape(pBuf, url_XPAlphas);
if(nsnull == *_retval)