eina: make error message more precise.
authorVincent Torri <vincent.torri@gmail.com>
Wed, 16 Jul 2014 12:13:28 +0000 (14:13 +0200)
committerCedric BAIL <c.bail@partner.samsung.com>
Thu, 17 Jul 2014 15:51:22 +0000 (17:51 +0200)
src/lib/eina/eina_file_win32.c

index c70c19c51ffb2dd1d35f0d97188743285ccb0bf7..25fbcd948b2eea0262a9e003565f0235bd9a13df 100644 (file)
@@ -728,7 +728,21 @@ eina_file_open(const char *path, Eina_Bool shared)
                          NULL);
 
    if (handle == INVALID_HANDLE_VALUE)
-     goto close_file;
+     {
+        switch (GetLastError())
+          {
+           case ERROR_FILE_NOT_FOUND:
+              WRN("Could not open file [%s].", filename);
+              free(filename);
+              return NULL;
+           case ERROR_PATH_NOT_FOUND:
+              WRN("Could not find file path [%s].", filename);
+              free(filename);
+              return NULL;
+           default:
+              goto free_file;
+          }
+     }
 
    if (!GetFileAttributesEx(filename, GetFileExInfoStandard, &fad))
      goto close_handle;
@@ -796,7 +810,7 @@ eina_file_open(const char *path, Eina_Bool shared)
 
  close_handle:
    CloseHandle(handle);
close_file:
free_file:
    ERR("Could not open file [%s].", filename);
    free(filename);