char str[CHAR_BUFFER_SIZE]; char* pstr = str; if (aLength > CHAR_BUFFER_SIZE) { pstr = new char[aLength]; if (!pstr) return 0; }  PRInt32 srcLength = aLength, destLength = aLength; mConverter->Convert(aString, &srcLength, pstr, &destLength);
nsFontWinNonUnicode::GetWidth(HDC aDC, const PRUnichar* aString,  PRUint32 aLength){  char str[CHAR_BUFFER_SIZE];  char* pstr = str;  if (aLength > CHAR_BUFFER_SIZE) {    pstr = new char[aLength];    if (!pstr) return 0;  }  PRInt32 srcLength = aLength, destLength = aLength;  mConverter->Convert(aString, &srcLength, pstr, &destLength);  SIZE size;  ::GetTextExtentPoint32A(aDC, pstr, aLength, &size);  if (pstr != str) {    delete[] pstr;  }  return size.cx;}