[tracker/tracker-0.6] Fixed indexer potential path breakage by using g_build_path instead
- From: Martyn James Russell <mr src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker/tracker-0.6] Fixed indexer potential path breakage by using g_build_path instead
- Date: Wed, 20 May 2009 12:17:42 -0400 (EDT)
commit ab03bc4c7a4786e5d574e0a00f830a0cb6e830ec
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed May 20 16:45:37 2009 +0100
Fixed indexer potential path breakage by using g_build_path instead
---
src/tracker-indexer/tracker-indexer.c | 34 ++++++++++----------------------
1 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/src/tracker-indexer/tracker-indexer.c b/src/tracker-indexer/tracker-indexer.c
index 2d266b9..7d4bb9b 100644
--- a/src/tracker-indexer/tracker-indexer.c
+++ b/src/tracker-indexer/tracker-indexer.c
@@ -1678,6 +1678,11 @@ item_add_or_update (TrackerIndexer *indexer,
start_transaction (indexer);
}
+ service_path = g_build_path (G_DIR_SEPARATOR_S,
+ dirname,
+ basename,
+ NULL);
+
exists = tracker_data_query_service_exists (service, dirname, basename, &id, NULL, &enabled);
if (exists && !enabled) {
@@ -1693,16 +1698,13 @@ item_add_or_update (TrackerIndexer *indexer,
if (tracker_module_file_get_flags (info->module_file) & TRACKER_FILE_CONTENTS_STATIC) {
/* According to the module, the metadata can't change for this item */
- g_debug ("Not updating static item '%s/%s'",
- dirname,
- basename);
+ g_debug ("Not updating static item '%s'", service_path);
+ g_free (service_path);
return;
}
/* Update case */
- g_debug ("Updating item '%s/%s'",
- dirname,
- basename);
+ g_debug ("Updating item '%s'", service_path);
/* "metadata" (new metadata) contains embedded props and can contain
* non-embedded properties with default values! Dont overwrite those
@@ -1738,16 +1740,11 @@ item_add_or_update (TrackerIndexer *indexer,
item_update_content (indexer, service, id, old_text, text);
if (strcmp (tracker_service_get_name (service), "Folders") == 0) {
- gchar *path;
-
/* Remove no longer existing children, this is necessary in case
* there were files added/removed in a directory between tracker
* executions
*/
-
- path = g_build_path (G_DIR_SEPARATOR_S, dirname, basename, NULL);
- remove_stale_children (indexer, service, info, path);
- g_free (path);
+ remove_stale_children (indexer, service, info, service_path);
}
g_free (old_text);
@@ -1758,14 +1755,12 @@ item_add_or_update (TrackerIndexer *indexer,
GHashTable *data;
const gchar *udi;
- g_debug ("Adding item '%s/%s'",
- dirname,
- basename);
+ g_debug ("Adding item '%s'", service_path);
/* Service wasn't previously indexed */
id = tracker_data_update_get_new_service_id (indexer->private->common);
data = tracker_module_metadata_get_hash_table (metadata);
- udi = tracker_hal_udi_get_for_path (indexer->private->hal, dirname);
+ udi = tracker_hal_udi_get_for_path (indexer->private->hal, service_path);
context = tracker_data_update_metadata_context_new (TRACKER_CONTEXT_TYPE_INSERT,
service, id);
@@ -1800,13 +1795,6 @@ item_add_or_update (TrackerIndexer *indexer,
generate_item_thumbnail (indexer, dirname, basename, metadata);
- /* TODO: URI branch path -> uri */
-
- service_path = g_build_path (G_DIR_SEPARATOR_S,
- dirname,
- basename,
- NULL);
-
#ifdef ENABLE_TTL_LOADER
#ifdef HAVE_HAL
if (tracker_hal_path_is_on_removable_device (indexer->private->hal,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]