diff options
author | Philip Van Hoof <philip@codeminded.be> | 2011-09-21 16:37:47 +0200 |
---|---|---|
committer | Philip Van Hoof <philip@codeminded.be> | 2011-09-23 12:34:19 +0200 |
commit | 98ef0bbc59a68f7035e03ae471b553d615c00aa1 (patch) | |
tree | d5693b8374295fd7c2feac04006915a9f7efd2d5 | |
parent | 705ecc66d23a1f8900ea73c65b122fbeef02cc46 (diff) | |
download | tracker-98ef0bbc59a68f7035e03ae471b553d615c00aa1.tar.gz |
tracker-extract, abw: Don't use _O_BINARY and handle error on mmap
Conflicts:
src/tracker-extract/tracker-extract-abw.c
-rw-r--r-- | src/tracker-extract/tracker-extract-abw.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/tracker-extract/tracker-extract-abw.c b/src/tracker-extract/tracker-extract-abw.c index e5ea67923..bd471440d 100644 --- a/src/tracker-extract/tracker-extract-abw.c +++ b/src/tracker-extract/tracker-extract-abw.c @@ -35,10 +35,6 @@ #include <glib.h> #include <glib/gstdio.h> -#ifndef _O_BINARY -#define _O_BINARY 0 -#endif - #include <libtracker-common/tracker-file-utils.h> #include <libtracker-extract/tracker-extract.h> @@ -195,13 +191,12 @@ extract_abw (const gchar *uri, return; } - fd = g_open (filename, O_RDONLY | _O_BINARY | O_NOATIME, 0); + fd = g_open (filename, O_RDONLY | O_NOATIME, 0); if (fd == -1) { - g_warning ("Could not mmap abw file '%s': %s\n", + g_warning ("Could not open abw file '%s': %s\n", filename, g_strerror (errno)); - g_error_free (error); g_free (filename); return; } @@ -211,7 +206,6 @@ extract_abw (const gchar *uri, filename, g_strerror (errno)); close (fd); - g_error_free (error); g_free (filename); return; } @@ -221,12 +215,21 @@ extract_abw (const gchar *uri, len = 0; } else { contents = (gchar *) mmap (NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); + if (contents == NULL) { + g_warning ("Could not mmap abw file '%s': %s\n", + filename, + g_strerror (errno)); + close (fd); + g_free (filename); + return; + } len = st.st_size; } g_free (filename); if (contents) { + GError *error = NULL; GMarkupParseContext *context; AbwParserData data = { 0 }; @@ -249,7 +252,6 @@ extract_abw (const gchar *uri, g_string_free (data.content, TRUE); } - retval = TRUE; } g_markup_parse_context_free (context); |