[tracker] tracker-extract: Use content-type from LSA and free memory leak



commit b2b7ea79cd6f674af99995f065adfe44483d88a0
Author: Martyn Russell <martyn lanedo com>
Date:   Mon Oct 26 16:41:21 2009 +0000

    tracker-extract: Use content-type from LSA and free memory leak

 src/tracker-extract/tracker-extract.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract.c b/src/tracker-extract/tracker-extract.c
index e756791..9d59e71 100644
--- a/src/tracker-extract/tracker-extract.c
+++ b/src/tracker-extract/tracker-extract.c
@@ -250,6 +250,7 @@ get_file_metadata (TrackerExtract *extract,
 		tracker_topanalyzer_extract (uri, statements, &content_type);
 		
 		if (tracker_sparql_builder_get_length (statements) > 0) {
+			g_free (content_type);
 			tracker_sparql_builder_insert_close (statements);
 			return statements;
 		}
@@ -263,6 +264,10 @@ get_file_metadata (TrackerExtract *extract,
 		/* We know the mime */
 		mime_used = g_strdup (mime);
 		g_strstrip (mime_used);
+	} else if (content_type && *content_type) {
+		/* We know the mime from LSA */
+		mime_used = content_type;
+		g_strstrip (mime_used);
 	} else {
 		GFile *file;
 		GFileInfo *info;
@@ -272,7 +277,6 @@ get_file_metadata (TrackerExtract *extract,
 		if (!file) {
 			g_warning ("Could not create GFile for uri:'%s'",
 				   uri);
-			g_free (content_type);
 			g_object_unref (statements);
 			return NULL;
 		}
@@ -294,7 +298,6 @@ get_file_metadata (TrackerExtract *extract,
 			}
 
 			g_object_unref (file);
-			g_free (content_type);
 			g_object_unref (statements);
 			return NULL;
 		}
@@ -344,7 +347,6 @@ get_file_metadata (TrackerExtract *extract,
 				tracker_sparql_builder_insert_close (statements);
 
 				g_free (mime_used);
-				g_free (content_type);
 
 				return statements;
 			}
@@ -378,7 +380,6 @@ get_file_metadata (TrackerExtract *extract,
 				tracker_sparql_builder_insert_close (statements);
 
 				g_free (mime_used);
-				g_free (content_type);
 
 				return statements;
 			}
@@ -395,8 +396,6 @@ get_file_metadata (TrackerExtract *extract,
 
 	tracker_sparql_builder_insert_close (statements);
 
-	g_free (content_type);
-
 	return statements;
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]