Why did you comment out all the printfs for invalid files? Those can be 
useful if the .ini file is actually screwed up.

dan



Enlightenment CVS wrote:
> 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
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
> 


-------------------------------------------------------------------------
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-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to