Ecore_file: on Windows, fix errno value when dst exists.
authorVincent Torri <vincent.torri@gmail.com>
Tue, 6 Oct 2020 14:09:31 +0000 (15:09 +0100)
committerJongmin Lee <jm105.lee@samsung.com>
Sun, 11 Oct 2020 21:08:12 +0000 (06:08 +0900)
Summary: This also fixes the saving of elementary_config file

Test Plan: execution of elementary_config

Reviewers: jptiz, raster

Reviewed By: raster

Subscribers: johnny1337, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12165

src/lib/ecore_file/ecore_file.c

index 2e43336..bc9e4c5 100644 (file)
@@ -532,11 +532,11 @@ ecore_file_mv(const char *src, const char *dst)
                }
           }
 #ifdef _WIN32
-          if (errno == EEXIST)
-            {
-               struct _stat s;
-               _stat(dst, &s);
-               if (_S_IFREG & s.st_mode)
+        if (errno == ENOENT)
+          {
+             struct _stat s;
+             _stat(dst, &s);
+             if (_S_IFREG & s.st_mode)
                {
                   ecore_file_unlink(dst);
                   if (rename(src, dst))
@@ -544,7 +544,7 @@ ecore_file_mv(const char *src, const char *dst)
                        return EINA_TRUE;
                     }
                }
-            }
+          }
 #endif
         goto FAIL;
      }