Hi there.

Again, after looking over the code I found several things that could e
'trivially' fixed.

* src/tracker-search-tool/tracker-search-tool.c:367 does a
g_return_... if error != NULL - I am not sure if this behavior is
correct, but it does prevent ugly 'false' snippets to be shown.
* src/libtracker-gtk/tracker-utils.c:55 changed running indx to unsigned
* src/libtracker/tracker.c:1338 changed a strstr to an strchr and
casting to (const char**) (gcc42 warned me about this)
* src/trackerd/tracker-db-sqlite.c
 :393 fixed false check, now this check is delegated to tracker_db_get_row
 :661 fixed a mem leak by removing yet another scope of char * sql
 :2214 fixed warning output that used an uninitialized variable
 :2806 shrinked scope of some variables (and fixed a small mem leak)
 :3271 fixed use of an uninitialized variable, replaced by immediate value of 0
* src/trackerd/tracker-indexer.c:572 fixed a false comparison
* src/trackerd/tracker-utils.c:3177 did the highlighting as in the 'above' case

Huh... was this too verbose?!

I tested any change I made.

Kind regards, Marcus
diff --git a/src/libtracker-gtk/tracker-utils.c b/src/libtracker-gtk/tracker-utils.c
index 87fd5db..7f42495 100644
--- a/src/libtracker-gtk/tracker-utils.c
+++ b/src/libtracker-gtk/tracker-utils.c
@@ -55,7 +55,7 @@ tracker_get_all_keywords (TrackerClient *tracker_client)
 	out_array = tracker_keywords_get_list (tracker_client, SERVICE_FILES, &error);
 	if (!error && out_array) {
 		gchar *name = NULL;
-		gint i;
+		guint i;
 		for (i = 0; i < out_array->len; i++) {
 			name = ((gchar **)out_array->pdata[i])[0];
 			if (strlen (name) > 2)
diff --git a/src/libtracker/tracker.c b/src/libtracker/tracker.c
index 7cc5151..2a61960 100644
--- a/src/libtracker/tracker.c
+++ b/src/libtracker/tracker.c
@@ -1338,12 +1338,12 @@ tracker_search_metadata_by_text_async (TrackerClient *client, const char *query,
 	char *metadata;
 	char *keywords[2];
  
-	if(strstr(query, ":") > 0){
+	if (strchr (query, ':') != NULL) {
 		metadata = strtok ((char *)query, ":");
 		if(strcoll(metadata,"tag") == 0){
 			keywords[0] = strtok (NULL, ":");
 			keywords[1] = NULL;
-			client->last_pending_call = org_freedesktop_Tracker_Keywords_search_async (client->proxy_keywords, -1, "Files", (char **)keywords, 0, 512, tracker_array_reply, callback_struct);
+			client->last_pending_call = org_freedesktop_Tracker_Keywords_search_async (client->proxy_keywords, -1, "Files", (const char **)keywords, 0, 512, tracker_array_reply, callback_struct);
 		}
 	}else{
 		client->last_pending_call = org_freedesktop_Tracker_Search_text_async (client->proxy_search, -1, "Files", query,  0, 512, tracker_array_reply, callback_struct);
diff --git a/src/tracker-search-tool/tracker-search-tool.c b/src/tracker-search-tool/tracker-search-tool.c
index a8bf518..36b7fdd 100644
--- a/src/tracker-search-tool/tracker-search-tool.c
+++ b/src/tracker-search-tool/tracker-search-tool.c
@@ -367,6 +367,8 @@ set_snippet (char * snippet,  GError *error, gpointer user_data)
 	GtkTreeIter iter;
 	SnippetRow *snippet_row = user_data;
 
+	g_return_if_fail (error == NULL);
+
 	snippet_markup = g_strdup_printf ("<span size='small'>%s</span>", snippet);
 
 	if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (snippet_row->gsearch->search_results_list_store), &iter)) {
diff --git a/src/trackerd/tracker-db-sqlite.c b/src/trackerd/tracker-db-sqlite.c
index 9a4a409..3da5741 100644
--- a/src/trackerd/tracker-db-sqlite.c
+++ b/src/trackerd/tracker-db-sqlite.c
@@ -393,7 +393,7 @@ tracker_get_field_count (char ***result)
 	char **row, **p;
 	int  i;
 
-	if (!result || tracker_get_row_count == 0) {
+	if (!result) {
 		return 0;
 	}
 
@@ -661,7 +661,7 @@ tracker_db_attach_db (DBConnection *db_con, const char *name)
 	} else if (strcmp (name, "cache") == 0) {
 	
 		char *path = g_build_filename (tracker->sys_tmp_root_dir, "cache.db", NULL);
-		char *sql = g_strdup_printf ("ATTACH '%s' as %s", path, name);
+		sql = g_strdup_printf ("ATTACH '%s' as %s", path, name);
 		g_free (path);
 
 		tracker_db_exec_no_reply (db_con, sql);
@@ -2214,7 +2214,7 @@ save_full_text (DBConnection *blob_db_con, const char *str_file_id, const char *
 		value = compressed;
 		
 	} else {
-		tracker_error ("WARNING: compression of %s has failed", value);
+		tracker_error ("WARNING: compression has failed");
 		value = g_strdup (text);
 		bytes_compressed = length;
 	}
@@ -2806,14 +2806,13 @@ tracker_get_related_metadata_names (DBConnection *db_con, const char *name)
 
 	res = tracker_exec_proc (db_con, "GetMetadataAliasesForName", 2, name, name);
 
-	int k = 0;
-	GString *str;
-
-	str = g_string_new ("");
-
 	if (res) {
+		int k = 0;
+		GString *str;
 		char **row;
 
+		str = g_string_new ("");
+
 		while ((row = tracker_db_get_row (res, k))) {
 			if (row[1]) {
 				if (k==0) {
@@ -3271,7 +3270,7 @@ tracker_db_set_metadata (DBConnection *db_con, const char *service, const char *
 						
 			if (!values[0]) break;
 
-			save_full_text (db_con->blob, id, values[i], strlen (values[0]));
+			save_full_text (db_con->blob, id, values[0], strlen (values[0]));
 			new_value = values[0];
 
 			break;
diff --git a/src/trackerd/tracker-dbus-methods.c b/src/trackerd/tracker-dbus-methods.c
diff --git a/src/trackerd/tracker-dbus-search.c b/src/trackerd/tracker-dbus-search.c
diff --git a/src/trackerd/tracker-indexer.c b/src/trackerd/tracker-indexer.c
index a0a55dd..3ed2b98 100644
--- a/src/trackerd/tracker-indexer.c
+++ b/src/trackerd/tracker-indexer.c
@@ -572,7 +572,7 @@ void
 tracker_add_query_word (SearchQuery *query, const char *word, WordType word_type)
 {
 
-	if (!word || word[0] == 0 || word == " ") {
+	if (!word || word[0] == 0 || (word[0] == ' ' && word[1] == 0)) {
 		return;
 	}
 
diff --git a/src/trackerd/tracker-utils.c b/src/trackerd/tracker-utils.c
index b5f56d5..ca100f6 100644
--- a/src/trackerd/tracker-utils.c
+++ b/src/trackerd/tracker-utils.c
@@ -3177,10 +3177,12 @@ tracker_get_snippet (const char *txt, char **terms, int length)
 	if (ptr) {
 		char *snippet = g_strndup (txt, ptr - txt);
 		char *esc_snippet = g_markup_escape_text (snippet, ptr - txt);
+		char *highlight_snip = highlight_terms (esc_snippet, terms);
 
 		g_free (snippet);
+		g_free (esc_snippet);
 
-		return esc_snippet;
+		return highlight_snip;
 	} else {
 		return NULL;
 	}
_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to