diff options
Diffstat (limited to 'src/common/exec.c')
-rw-r--r-- | src/common/exec.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/src/common/exec.c b/src/common/exec.c index 78bb486f999..773afd080c0 100644 --- a/src/common/exec.c +++ b/src/common/exec.c @@ -435,9 +435,6 @@ set_pglocale_pgservice(const char *argv0, const char *app) { char path[MAXPGPATH]; char my_exec_path[MAXPGPATH]; - char env_path[MAXPGPATH + sizeof("PGSYSCONFDIR=")]; /* longer than - * PGLOCALEDIR */ - char *dup_path; /* don't set LC_ALL in the backend */ if (strcmp(app, PG_TEXTDOMAIN("postgres")) != 0) @@ -462,28 +459,15 @@ set_pglocale_pgservice(const char *argv0, const char *app) get_locale_path(my_exec_path, path); bindtextdomain(app, path); textdomain(app); - - if (getenv("PGLOCALEDIR") == NULL) - { - /* set for libpq to use */ - snprintf(env_path, sizeof(env_path), "PGLOCALEDIR=%s", path); - canonicalize_path(env_path + 12); - dup_path = strdup(env_path); - if (dup_path) - putenv(dup_path); - } + /* set for libpq to use, but don't override existing setting */ + setenv("PGLOCALEDIR", path, 0); #endif if (getenv("PGSYSCONFDIR") == NULL) { get_etc_path(my_exec_path, path); - /* set for libpq to use */ - snprintf(env_path, sizeof(env_path), "PGSYSCONFDIR=%s", path); - canonicalize_path(env_path + 13); - dup_path = strdup(env_path); - if (dup_path) - putenv(dup_path); + setenv("PGSYSCONFDIR", path, 0); } } |