mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Strip file names reported in error messages in vpath builds
In vpath builds, the __FILE__ macro that is used in verbose error reports contains the full absolute file name, which makes the error messages excessively verbose. So keep only the base name, thus matching the behavior of non-vpath builds.
This commit is contained in:
parent
be2f909200
commit
dd136052bc
@ -343,7 +343,14 @@ errstart(int elevel, const char *filename, int lineno,
|
||||
edata->elevel = elevel;
|
||||
edata->output_to_server = output_to_server;
|
||||
edata->output_to_client = output_to_client;
|
||||
edata->filename = filename;
|
||||
if (filename)
|
||||
{
|
||||
const char *slash;
|
||||
|
||||
/* keep only base name, useful especially for vpath builds */
|
||||
slash = strrchr(filename, '/');
|
||||
edata->filename = slash ? slash + 1 : filename;
|
||||
}
|
||||
edata->lineno = lineno;
|
||||
edata->funcname = funcname;
|
||||
/* the default text domain is the backend's */
|
||||
@ -1142,7 +1149,14 @@ elog_start(const char *filename, int lineno, const char *funcname)
|
||||
}
|
||||
|
||||
edata = &errordata[errordata_stack_depth];
|
||||
edata->filename = filename;
|
||||
if (filename)
|
||||
{
|
||||
const char *slash;
|
||||
|
||||
/* keep only base name, useful especially for vpath builds */
|
||||
slash = strrchr(filename, '/');
|
||||
edata->filename = slash ? slash + 1 : filename;
|
||||
}
|
||||
edata->lineno = lineno;
|
||||
edata->funcname = funcname;
|
||||
/* errno is saved now so that error parameter eval can't change it */
|
||||
|
Loading…
Reference in New Issue
Block a user