From 3c0cfdec3aa46f524eb761147787360e3c8a7933 Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Fri, 30 Mar 2001 05:22:22 +0000 Subject: [PATCH] fix for #71243. don't hard code the default values, get them from the default prefs. fix by cavin@netscape.com. sr=spitzer --- mailnews/compose/src/nsSmtpServer.cpp | 28 ++++++++++++++++++++++++--- mailnews/compose/src/nsSmtpServer.h | 1 + 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/mailnews/compose/src/nsSmtpServer.cpp b/mailnews/compose/src/nsSmtpServer.cpp index 43797ce4e5d3..a625614cb672 100644 --- a/mailnews/compose/src/nsSmtpServer.cpp +++ b/mailnews/compose/src/nsSmtpServer.cpp @@ -102,7 +102,8 @@ nsSmtpServer::GetTrySSL(PRInt32 *trySSL) *trySSL= 0; getPrefString("try_ssl", pref); rv = prefs->GetIntPref(pref, trySSL); - if (NS_FAILED(rv)) *trySSL = 1; + if (NS_FAILED(rv)) + rv = getDefaultIntPref(prefs, 1, "try_ssl", trySSL); return NS_OK; } @@ -128,8 +129,29 @@ nsSmtpServer::GetAuthMethod(PRInt32 *authMethod) *authMethod = 1; getPrefString("auth_method", pref); rv = prefs->GetIntPref(pref, authMethod); - if (NS_FAILED(rv)) *authMethod = 1; - return NS_OK; + if (NS_FAILED(rv)) + rv = getDefaultIntPref(prefs, 1, "auth_method", authMethod); + return rv; +} + +nsresult +nsSmtpServer::getDefaultIntPref(nsIPref *prefs, + PRInt32 defVal, + const char *prefName, + PRInt32 *val) +{ + // mail.smtpserver.default. + nsCAutoString fullPrefName; + fullPrefName = "mail.smtpserver.default."; + fullPrefName.Append(prefName); + nsresult rv = prefs->GetIntPref(fullPrefName, val); + + if (NS_FAILED(rv)) + { // last resort + *val = defVal; + rv = NS_OK; + } + return rv; } NS_IMETHODIMP diff --git a/mailnews/compose/src/nsSmtpServer.h b/mailnews/compose/src/nsSmtpServer.h index 78c7ff29cf56..5ca4e11c0276 100644 --- a/mailnews/compose/src/nsSmtpServer.h +++ b/mailnews/compose/src/nsSmtpServer.h @@ -42,6 +42,7 @@ private: nsCString mKey; nsresult getPrefString(const char *pref, nsCAutoString& result); + nsresult getDefaultIntPref(nsIPref *prefs, PRInt32 defVal, const char *prefName, PRInt32 *val); nsCString m_password; };