mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 21:05:36 +00:00
Bug 253589 character sets need not be stored as wide strings
r=bienvenu sr=mscott
This commit is contained in:
parent
0100b9e132
commit
b0a803be91
@ -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;
|
||||
|
@ -157,7 +157,7 @@ protected:
|
||||
|
||||
protected:
|
||||
nsCOMPtr<nsIMsgDatabase> mDatabase;
|
||||
nsString mCharset;
|
||||
nsCString mCharset;
|
||||
PRBool mCharsetOverride;
|
||||
PRBool mAddListener;
|
||||
PRBool mNewMessages;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user