aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/misc/guc-file.l12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l
index b730a120d8e..c5ca4a40742 100644
--- a/src/backend/utils/misc/guc-file.l
+++ b/src/backend/utils/misc/guc-file.l
@@ -409,6 +409,7 @@ ParseConfigFile(const char *config_file, const char *calling_file, bool strict,
ConfigVariable **head_p,
ConfigVariable **tail_p)
{
+ char *abs_path;
bool OK = true;
FILE *fp;
@@ -426,8 +427,8 @@ ParseConfigFile(const char *config_file, const char *calling_file, bool strict,
return false;
}
- config_file = AbsoluteConfigLocation(config_file,calling_file);
- fp = AllocateFile(config_file, "r");
+ abs_path = AbsoluteConfigLocation(config_file, calling_file);
+ fp = AllocateFile(abs_path, "r");
if (!fp)
{
if (strict)
@@ -435,19 +436,20 @@ ParseConfigFile(const char *config_file, const char *calling_file, bool strict,
ereport(elevel,
(errcode_for_file_access(),
errmsg("could not open configuration file \"%s\": %m",
- config_file)));
+ abs_path)));
return false;
}
ereport(LOG,
(errmsg("skipping missing configuration file \"%s\"",
- config_file)));
+ abs_path)));
return OK;
}
- OK = ParseConfigFp(fp, config_file, depth, elevel, head_p, tail_p);
+ OK = ParseConfigFp(fp, abs_path, depth, elevel, head_p, tail_p);
FreeFile(fp);
+ pfree(abs_path);
return OK;
}