diff options
-rw-r--r-- | src/lib/ecore_file/ecore_file.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c index dd53db1db9..6e341ea640 100644 --- a/src/lib/ecore_file/ecore_file.c +++ b/src/lib/ecore_file/ecore_file.c | |||
@@ -508,6 +508,21 @@ ecore_file_mv(const char *src, const char *dst) | |||
508 | goto PASS; | 508 | goto PASS; |
509 | } | 509 | } |
510 | } | 510 | } |
511 | #ifdef _WIN32 | ||
512 | if (errno == EEXIST) | ||
513 | { | ||
514 | struct _stat s; | ||
515 | _stat(dst, &s); | ||
516 | if (_S_IFREG & s.st_mode) | ||
517 | { | ||
518 | ecore_file_unlink(dst); | ||
519 | if (rename(src, dst)) | ||
520 | { | ||
521 | return EINA_TRUE; | ||
522 | } | ||
523 | } | ||
524 | } | ||
525 | #endif | ||
511 | goto FAIL; | 526 | goto FAIL; |
512 | } | 527 | } |
513 | 528 | ||