http://git.etersoft.ru/projects
/
wine
/
eterwine.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8451240
)
Windows rename() needs an unlink() first (reported by Steven
author
Alexandre Julliard
<julliard@winehq.org>
Sun, 18 Jan 2004 23:32:56 +0000
(23:32 +0000)
committer
Alexandre Julliard
<julliard@winehq.org>
Sun, 18 Jan 2004 23:32:56 +0000
(23:32 +0000)
Edwards).
tools/bin2res.c
patch
|
blob
|
blame
|
history
diff --git
a/tools/bin2res.c
b/tools/bin2res.c
index e1654a3add6c8933848a7ec92d750032d662fd48..68e76cc81609874922fb84a4a46ee3aad186da11 100644
(file)
--- a/
tools/bin2res.c
+++ b/
tools/bin2res.c
@@
-183,8
+183,18
@@
int process_resources(const char* input_file_name, const char* specific_file_nam
if (inserting)
{
fclose(ftmp);
- if (c == EOF && rename(tmp_file_name, input_file_name) < 0)
- c = '.'; /* force an error */
+ if (c == EOF)
+ {
+ if (rename(tmp_file_name, input_file_name) < 0)
+ {
+ /* try unlinking first, Windows rename is brain-damaged */
+ if (unlink(input_file_name) < 0 || rename(tmp_file_name, input_file_name) < 0)
+ {
+ unlink(tmp_file_name);
+ return 0;
+ }
+ }
+ }
else unlink(tmp_file_name);
}