cedric pushed a commit to branch master.

commit 61396654a5b477405ab473d11f6b9d8a9d95219e
Author: Cedric Bail <[email protected]>
Date:   Thu Jun 27 12:23:33 2013 +0900

    efreet: cleanup code by using Eina_File infra.
---
 src/lib/efreet/efreet_mime.c | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/lib/efreet/efreet_mime.c b/src/lib/efreet/efreet_mime.c
index 15cb5ff..4c52d16 100644
--- a/src/lib/efreet/efreet_mime.c
+++ b/src/lib/efreet/efreet_mime.c
@@ -993,31 +993,22 @@ efreet_mime_count_digits(int in)
 static void
 efreet_mime_shared_mimeinfo_magic_load(const char *file)
 {
-   int fd = -1, size;
-   char *data = (void *)-1;
+   Eina_File *f;
+   void *data;
 
    if (!file) return;
 
-   size = ecore_file_size(file);
-   if (size <= 0) return;
-
-   fd = open(file, O_RDONLY);
-   if (fd == -1) return;
-
-   /* let's make mmap safe and just get 0 pages for IO erro */
-   eina_mmap_safety_enabled_set(EINA_TRUE);
+   f = eina_file_open(file, EINA_FALSE);
+   if (!f) return ;
 
-   data = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);
-   if (data == MAP_FAILED)
-     {
-        close(fd);
-        return;
-     }
+   data = eina_file_map_all(f, EINA_FILE_WILLNEED);
+   if (!data) goto end;
 
-   efreet_mime_shared_mimeinfo_magic_parse(data, size);
+   efreet_mime_shared_mimeinfo_magic_parse(data, eina_file_size_get(f));
 
-   munmap(data, size);
-   close(fd);
+   eina_file_map_free(f, data);
+ end:
+   eina_file_close(f);
 }
 
 /**

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to