|
26 | 26 | #include <unistd.h>
|
27 | 27 |
|
28 | 28 | #ifndef FRONTEND
|
29 |
| -/* We use only 3-parameter elog calls in this file, for simplicity */ |
| 29 | +/* We use only 3- and 4-parameter elog calls in this file, for simplicity */ |
30 | 30 | /* NOTE: caller must provide gettext call around str! */
|
31 | 31 | #define log_error(str, param) elog(LOG, str, param)
|
| 32 | +#define log_error4(str, param, arg1) elog(LOG, str, param, arg1) |
32 | 33 | #else
|
33 | 34 | #define log_error(str, param) (fprintf(stderr, str, param), fputc('\n', stderr))
|
| 35 | +#define log_error4(str, param, arg1) (fprintf(stderr, str, param, arg1), fputc('\n', stderr)) |
34 | 36 | #endif
|
35 | 37 |
|
36 | 38 | #ifdef WIN32_ONLY_COMPILER
|
@@ -252,7 +254,7 @@ resolve_symlinks(char *path)
|
252 | 254 | *lsep = '\0';
|
253 | 255 | if (chdir(path) == -1)
|
254 | 256 | {
|
255 |
| - log_error(_("could not change directory to \"%s\""), path); |
| 257 | + log_error4(_("could not change directory to \"%s\": %s"), path, strerror(errno)); |
256 | 258 | return -1;
|
257 | 259 | }
|
258 | 260 | fname = lsep + 1;
|
@@ -288,7 +290,7 @@ resolve_symlinks(char *path)
|
288 | 290 |
|
289 | 291 | if (chdir(orig_wd) == -1)
|
290 | 292 | {
|
291 |
| - log_error(_("could not change directory to \"%s\""), orig_wd); |
| 293 | + log_error4(_("could not change directory to \"%s\": %s"), orig_wd, strerror(errno)); |
292 | 294 | return -1;
|
293 | 295 | }
|
294 | 296 | #endif /* HAVE_READLINK */
|
|
0 commit comments