From f1922f4f00539a5a1f9449481303e32e63c11cff Mon Sep 17 00:00:00 2001 From: "rhp%netscape.com" Date: Tue, 6 Jun 2000 23:38:49 +0000 Subject: [PATCH] Changes to fix problem with accepted charset - Bug #: 41100 - r: bienvenu --- mailnews/base/util/nsMsgI18N.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/mailnews/base/util/nsMsgI18N.cpp b/mailnews/base/util/nsMsgI18N.cpp index c5cd7518746..8b367e2801f 100644 --- a/mailnews/base/util/nsMsgI18N.cpp +++ b/mailnews/base/util/nsMsgI18N.cpp @@ -714,10 +714,28 @@ nsresult nsMsgI18NFormatNNTPXPATInNonRFC1522Format(const nsCString& aCharset, return NS_OK; } -// RICHIE - not sure about this one?? need to see what it did in the old -// world. char * nsMsgI18NGetAcceptLanguage(void) { - return "en"; + static char lang[32]; + nsresult res; + + NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &res); + if (nsnull != prefs && NS_SUCCEEDED(res)) + { + nsXPIDLCString prefValue; + + nsCRT::memset(lang, 0, sizeof(lang)); + res = prefs->CopyCharPref("intl.accept_languages", getter_Copies(prefValue)); + if (NS_SUCCEEDED(res) && prefValue) + PL_strncpy(lang, (const char *) prefValue, sizeof(lang)); + else + PL_strcpy(lang, "en"); + } + else + PL_strcpy(lang, "en"); + + return (char *)lang; } + +