Hi,
 
Find attached fix for reading PGPASSFILE environment variable for pg password 
file.
 
regards,
Prasad
diff --git pgadmin/utils/sysSettings.cpp pgadmin/utils/sysSettings.cpp
index e9f270c..7301d53 100644
--- pgadmin/utils/sysSettings.cpp
+++ pgadmin/utils/sysSettings.cpp
@@ -2,7 +2,7 @@
 //
 // pgAdmin III - PostgreSQL Tools
 //
-// Copyright (C) 2002 - 2014, The pgAdmin Development Team
+// Copyright (C) 2002 - 2015, The pgAdmin Development Team
 // This software is released under the PostgreSQL Licence
 //
 // sysSettings.cpp - Settings handling class
@@ -762,35 +762,33 @@ void sysSettings::SetCanonicalLanguage(const wxLanguage &lang)
 //////////////////////////////////////////////////////////////////////////
 wxString sysSettings::GetConfigFile(configFileName cfgname)
 {
-	if (cfgname == PGPASS)
-	{
+              wxASSERT_MSG(cfgname == sysSettings::PGPASS,wxT("Handles only pgpass configuration"));
 #if wxCHECK_VERSION(2, 9, 5)
-		wxStandardPaths &stdp = wxStandardPaths::Get();
+	      wxStandardPaths &stdp = wxStandardPaths::Get();
 #else
-		wxStandardPaths stdp;
+	      wxStandardPaths stdp;
 #endif
-		wxString fname = stdp.GetUserConfigDir();
+	      wxString fname;
+	      bool bpsfile = wxGetEnv(wxT("PGPASSFILE"),&fname);
+	      if (!bpsfile)
+	      {
+		fname = stdp.GetUserConfigDir();
+	      }
 #ifdef WIN32
+	      if (!bpsfile)
+	      {
 		fname += wxT("\\postgresql");
 		if (!wxDirExists(fname))
-			wxMkdir(fname);
-		switch(cfgname)
-		{
-			case PGPASS:
-				fname += wxT("\\pgpass.conf");
-				break;
-		}
+		      wxMkdir(fname);
+		fname += wxT("\\pgpass.conf");
+	      }
 #else
-		switch(cfgname)
-		{
-			case PGPASS:
-				fname += wxT("/.pgpass");
-				break;
-		}
+	      if (!bpsfile)
+	      {
+		fname += wxT("/.pgpass");
+	      }
 #endif
-		return fname;
-	}
-	return wxT("");
+	      return fname;
 }
 
 
-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to