diff options
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/w32.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c383aeaa0a0..62ad09eb4c2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-03-10 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32.c (fstatat): Don't add an extra slash if the argument ends | ||
| 4 | with a slash: this fails the subsequent call to stat_worker on | ||
| 5 | Windows 9X. Reported by oslsachem <oslsachem@gmail.com>. | ||
| 6 | |||
| 1 | 2014-03-10 Martin Rudalics <rudalics@gmx.at> | 7 | 2014-03-10 Martin Rudalics <rudalics@gmx.at> |
| 2 | 8 | ||
| 3 | * w32term.c (w32_read_socket): In SIZE_RESTORED case | 9 | * w32term.c (w32_read_socket): In SIZE_RESTORED case |
| @@ -5138,7 +5138,10 @@ fstatat (int fd, char const *name, struct stat *st, int flags) | |||
| 5138 | 5138 | ||
| 5139 | if (fd != AT_FDCWD) | 5139 | if (fd != AT_FDCWD) |
| 5140 | { | 5140 | { |
| 5141 | if (_snprintf (fullname, sizeof fullname, "%s/%s", dir_pathname, name) | 5141 | char lastc = dir_pathname[strlen (dir_pathname) - 1]; |
| 5142 | |||
| 5143 | if (_snprintf (fullname, sizeof fullname, "%s%s%s", | ||
| 5144 | dir_pathname, IS_DIRECTORY_SEP (lastc) ? "" : "/", name) | ||
| 5142 | < 0) | 5145 | < 0) |
| 5143 | { | 5146 | { |
| 5144 | errno = ENAMETOOLONG; | 5147 | errno = ENAMETOOLONG; |