git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@1429 77e5149b-7576-45b1-b177-96237e5ba77b
Tomasz Kojm authored on 2005/03/26 03:02:11... | ... |
@@ -1,3 +1,8 @@ |
1 |
+Fri Mar 25 18:58:29 CET 2005 (tk) |
|
2 |
+--------------------------------- |
|
3 |
+ * freshclam: improve new database installation under w32 (thanks to Boguslaw |
|
4 |
+ Brandys <bbrandys*clamav.net>) |
|
5 |
+ |
|
1 | 6 |
Fri Mar 25 18:47:34 CET 2005 (tk) |
2 | 7 |
--------------------------------- |
3 | 8 |
* freshclam: fork before system() call in daemon mode (patch by Per Jessen |
... | ... |
@@ -410,9 +410,16 @@ int downloaddb(const char *localname, const char *remotename, const char *hostna |
410 | 410 |
unlink(tempname); |
411 | 411 |
free(tempname); |
412 | 412 |
return 53; |
413 |
- } else |
|
414 |
- rename(tempname, localname); |
|
415 |
- |
|
413 |
+ } else { |
|
414 |
+ if(rename(tempname, localname) == -1) { |
|
415 |
+ mprintf("@Can't rename %s to %s: %s\n", tempname, localname, strerror(errno)); |
|
416 |
+ if(errno == EEXIST) { |
|
417 |
+ unlink(localname); |
|
418 |
+ if(rename(tempname, localname) == -1) |
|
419 |
+ mprintf("@All attempts to rename the temporary file failed: %s\n", strerror(errno)); |
|
420 |
+ } |
|
421 |
+ } |
|
422 |
+ } |
|
416 | 423 |
|
417 | 424 |
mprintf("%s updated (version: %d, sigs: %d, f-level: %d, builder: %s)\n", localname, current->version, current->sigs, current->fl, current->builder); |
418 | 425 |
logg("%s updated (version: %d, sigs: %d, f-level: %d, builder: %s)\n", localname, current->version, current->sigs, current->fl, current->builder); |