Bug 253589 character sets need not be stored as wide strings

r=bienvenu sr=mscott
This commit is contained in:
cbiesinger%web.de 2004-09-15 21:04:55 +00:00
parent 0100b9e132
commit b0a803be91
4 changed files with 15 additions and 15 deletions

View File

@ -342,9 +342,9 @@ NS_IMETHODIMP nsMsgDBFolder::SetCharset(const char * aCharset)
rv = GetDBFolderInfoAndDB(getter_AddRefs(folderInfo), getter_AddRefs(db));
if(NS_SUCCEEDED(rv))
{
rv = folderInfo->SetCharacterSet(NS_ConvertASCIItoUTF16(aCharset).get());
rv = folderInfo->SetCharacterSet(aCharset);
db->Commit(nsMsgDBCommitType::kLargeCommit);
mCharset.AssignWithConversion(aCharset); // synchronize member variable
mCharset.AssignASCII(aCharset); // synchronize member variable
}
return rv;
}
@ -1055,7 +1055,7 @@ NS_IMETHODIMP nsMsgDBFolder::ReadFromFolderCacheElem(nsIMsgFolderCacheElement *e
printf("read total %ld for %s\n", mNumTotalMessages, uri);
PR_Free(uri);
#endif
mCharset.AssignWithConversion(charset.get());
mCharset.AssignASCII(charset);
mInitializedFromCache = PR_TRUE;
return rv;
@ -1187,9 +1187,7 @@ NS_IMETHODIMP nsMsgDBFolder::WriteToFolderCacheElem(nsIMsgFolderCacheElement *el
element->SetInt32Property("expungedBytes", mExpungedBytes);
element->SetInt32Property("folderSize", mFolderSize);
nsCAutoString mcharsetC;
mcharsetC.AssignWithConversion(mCharset);
element->SetStringProperty("charset", mcharsetC.get());
element->SetStringProperty("charset", mCharset.get());
#ifdef DEBUG_bienvenu1
char *uri;

View File

@ -157,7 +157,7 @@ protected:
protected:
nsCOMPtr<nsIMsgDatabase> mDatabase;
nsString mCharset;
nsCString mCharset;
PRBool mCharsetOverride;
PRBool mAddListener;
PRBool mNewMessages;

View File

@ -78,8 +78,8 @@ interface nsIDBFolderInfo : nsISupports {
nsIDBFolderInfo GetTransferInfo();
void initFromTransferInfo(in nsIDBFolderInfo transferInfo);
void getCharacterSet(out AString charSet, out boolean overriden);
void setCharacterSet(in wstring charSet);
void getCharacterSet(out ACString charSet, out boolean overriden);
void setCharacterSet(in string charSet);
attribute boolean characterSetOverride;

View File

@ -645,15 +645,17 @@ PRBool nsDBFolderInfo::TestFlag(PRInt32 flags)
}
NS_IMETHODIMP
nsDBFolderInfo::GetCharacterSet(nsAString &result, PRBool *usedDefault)
nsDBFolderInfo::GetCharacterSet(nsACString &result, PRBool *usedDefault)
{
*usedDefault = PR_FALSE;
nsresult rv = GetProperty(kCharacterSetColumnName, result);
nsXPIDLCString val;
nsresult rv = GetCharPtrProperty(kCharacterSetColumnName, getter_Copies(val));
result = val;
if (NS_SUCCEEDED(rv) && result.IsEmpty())
{
CopyASCIItoUTF16(gDefaultCharacterSet, result);
result = gDefaultCharacterSet;
*usedDefault = PR_TRUE;
}
@ -683,10 +685,10 @@ nsDBFolderInfo::GetCharPtrCharacterSet(char **result)
return (*result) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP nsDBFolderInfo::SetCharacterSet(const PRUnichar *charSet)
NS_IMETHODIMP nsDBFolderInfo::SetCharacterSet(const char *charSet)
{
m_charSet.AssignWithConversion(charSet);
return m_mdb->SetProperty(m_mdbRow, kCharacterSetColumnName, m_charSet.get());
m_charSet.Assign(charSet);
return SetCharPtrProperty(kCharacterSetColumnName, charSet);
}
NS_IMETHODIMP nsDBFolderInfo::GetCharacterSetOverride(PRBool *characterSetOverride)