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