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