diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | w32/compat/posixfcn.c | 20 |
2 files changed, 17 insertions, 9 deletions
@@ -1,3 +1,9 @@ +2013-10-07 Eli Zaretskii <eliz@gnu.org> + + * w32/compat/posixfcn.c (tmpfile): Move declaration of h before + the first executable statement. Reported by Gisle Vanem + <gvanem@yahoo.no>. + 2013-10-05 Paul Smith <psmith@gnu.org> * makeint.h (MAP_USERFUNC): A new map type for function names. diff --git a/w32/compat/posixfcn.c b/w32/compat/posixfcn.c index 0ebf9a6..560110f 100644 --- a/w32/compat/posixfcn.c +++ b/w32/compat/posixfcn.c @@ -301,19 +301,21 @@ tmpfile (void) path_size + sizemax < sizeof temp_path && !(uniq >= 0x10000 && second_loop)) { + HANDLE h; + sprintf (temp_path + path_size, "%s%s%u-%x.tmp", temp_path[path_size - 1] == '\\' ? "" : "\\", base, pid, uniq); - HANDLE h = CreateFile (temp_path, /* file name */ - GENERIC_READ | GENERIC_WRITE | DELETE, /* desired access */ - FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */ - NULL, /* default security attributes */ - CREATE_NEW, /* creation disposition */ - FILE_ATTRIBUTE_NORMAL | /* flags and attributes */ - FILE_ATTRIBUTE_TEMPORARY | - FILE_FLAG_DELETE_ON_CLOSE, - NULL); /* no template file */ + h = CreateFile (temp_path, /* file name */ + GENERIC_READ | GENERIC_WRITE | DELETE, /* desired access */ + FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */ + NULL, /* default security attributes */ + CREATE_NEW, /* creation disposition */ + FILE_ATTRIBUTE_NORMAL | /* flags and attributes */ + FILE_ATTRIBUTE_TEMPORARY | + FILE_FLAG_DELETE_ON_CLOSE, + NULL); /* no template file */ if (h == INVALID_HANDLE_VALUE) { |