Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/efreet

Dir     : e17/libs/efreet/src/lib


Modified Files:
        efreet_ini.c efreet_mime.c 


Log Message:


* add efreet garbage data check
* remove printfs that clutter output
* add efreet file type check - only parse regular files
* chekc mmap returns correctly for MAP_FAILED results
* edje has some stubs for adding script-only objecvts - but nothing useful
right now

===================================================================
RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_ini.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- efreet_ini.c        8 May 2008 14:22:21 -0000       1.15
+++ efreet_ini.c        29 May 2008 02:00:04 -0000      1.16
@@ -81,7 +81,12 @@
     f = fopen(file, "rb");
     if (!f) return NULL;
 
-    if (fstat(fileno(f), &file_stat) || file_stat.st_size < 1)
+    if (fstat(fileno(f), &file_stat) || (file_stat.st_size < 1))
+    {
+        fclose(f);
+        return NULL;
+    }
+    if (!S_ISREG(file_stat.st_mode)) /* if not a regular file - close */
     {
         fclose(f);
         return NULL;
@@ -89,7 +94,7 @@
 
     left = file_stat.st_size;
     buffer = mmap(NULL, left, PROT_READ, MAP_SHARED, fileno(f), 0);
-    if (!buffer)
+    if (buffer == MAP_FAILED)
     {
         fclose(f);
         return NULL;
@@ -107,7 +112,7 @@
         /* find the end of line */
         for (line_length = 0; 
                 (line_length < left) && 
-                (line_start[line_length] != '\n'); ++line_length)
+                (line_start[line_length] != '\n'); line_length++)
             ;
 
         /* check for all white space */
@@ -151,8 +156,8 @@
                 ecore_hash_free_value_cb_set(section, ECORE_FREE_CB(free));
 
                 old = ecore_hash_remove(data, header);
-                if (old) printf("[efreet] Warning: duplicate section '%s' "
-                                "in file '%s'\n", header, file);
+//                if (old) printf("[efreet] Warning: duplicate section '%s' "
+  //                              "in file '%s'\n", header, file);
 
                 IF_FREE_HASH(old);
                 ecore_hash_set(data, (void *)ecore_string_instance(header),
@@ -162,14 +167,14 @@
             {
                 /* invalid file - skip line? or refuse to parse file? */
                 /* just printf for now till we figure out what to do */
-                printf("Invalid file (%s) (missing ] on group name)\n", file);
+//                printf("Invalid file (%s) (missing ] on group name)\n", 
file);
             }
             goto next_line;
         }
 
         if (section == NULL)
         {
-            printf("Invalid file (%s) (missing section)\n", file);
+//            printf("Invalid file (%s) (missing section)\n", file);
             goto next_line;
         }
 
@@ -212,7 +217,7 @@
             if (key_end == 0)
             {
                 /* invalid file... */
-                printf("Invalid file (%s) (invalid key=value pair)\n", file);
+//                printf("Invalid file (%s) (invalid key=value pair)\n", file);
 
                 goto next_line;
             }
@@ -234,17 +239,16 @@
             ecore_hash_set(section, (void *)ecore_string_instance(key),
                            efreet_ini_unescape(value));
         }
-        else
-        {
-            /* invalid file... */
-            printf("Invalid file (%s) (missing = from key=value pair)\n", 
file);
-        }
+//        else
+//        {
+//            /* invalid file... */
+//            printf("Invalid file (%s) (missing = from key=value pair)\n", 
file);
+//        }
 
 next_line:
         left -= line_length + 1;
         line_start += line_length + 1;
     }
-
     munmap((char*) buffer, file_stat.st_size);
     fclose(f);
 
===================================================================
RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_mime.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- efreet_mime.c       7 Apr 2008 05:52:45 -0000       1.36
+++ efreet_mime.c       29 May 2008 02:00:04 -0000      1.37
@@ -826,7 +826,7 @@
     if (fd == -1) return;
 
     data = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);
-    if (data == (void *)-1)
+    if (data == MAP_FAILED)
     {
         close(fd);
         return;



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to