aboutsummaryrefslogtreecommitdiff
path: root/src/port/path.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/port/path.c')
-rw-r--r--src/port/path.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/port/path.c b/src/port/path.c
index 10307d09886..c43843bb464 100644
--- a/src/port/path.c
+++ b/src/port/path.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/port/path.c,v 1.71 2007/01/05 22:20:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/port/path.c,v 1.72 2007/10/23 17:58:01 mha Exp $
*
*-------------------------------------------------------------------------
*/
@@ -628,10 +628,14 @@ get_home_path(char *ret_path)
strlcpy(ret_path, pwd->pw_dir, MAXPGPATH);
return true;
#else
- char tmppath[MAX_PATH];
-
- ZeroMemory(tmppath, sizeof(tmppath));
- if (SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, tmppath) != S_OK)
+ char *tmppath;
+
+ /*
+ * Note: We use getenv here because the more modern SHGetSpecialFolderPath()
+ * will force us to link with shell32.lib which eats valuable desktop heap.
+ */
+ tmppath = getenv("APPDATA");
+ if (!tmppath)
return false;
snprintf(ret_path, MAXPGPATH, "%s/postgresql", tmppath);
return true;