From 53aafdb9ff6a561c7dea0f428a7c168f2b7e0f16 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 2 Apr 2021 10:43:54 -0400 Subject: [PATCH] Strip file names reported in error messages on Windows, too. Commit dd136052b established a policy that error message FILE items should include only the base name of the reporting source file, for uniformity and succinctness. We now observe that some Windows compilers use backslashes in __FILE__ strings, so truncate at backslashes as well. This is expected to fix some platform variation in the results of the new libpq_pipeline test module. Discussion: https://postgr.es/m/3650140.1617372290@sss.pgh.pa.us --- src/backend/utils/error/elog.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 423df2f3006..12de4b38cba 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -529,6 +529,10 @@ errfinish(const char *filename, int lineno, const char *funcname) slash = strrchr(filename, '/'); if (slash) filename = slash + 1; + /* Some Windows compilers use backslashes in __FILE__ strings */ + slash = strrchr(filename, '\\'); + if (slash) + filename = slash + 1; } edata->filename = filename;