summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKunaal <kunaalus@gmail.com>2015-03-21 20:34:53 +0530
committerCarlos Garnacho <carlosg@gnome.org>2015-03-24 19:02:17 +0100
commited226a30a19973b26b5dcc274f30b26851a9a58c (patch)
tree01bbcbe6a156cc298734cfe8cff340194b26880f
parent477e0247b7cad921304a3ec65715e5f77807314a (diff)
downloadtracker-ed226a30a19973b26b5dcc274f30b26851a9a58c.tar.gz
tracker-extract: Fix for find_member function
find_member can't find functions if searching for "./something". This fix skips the "." directory while searching. https://bugzilla.gnome.org/show_bug.cgi?id=746437 https://bugzilla.gnome.org/show_bug.cgi?id=730085
-rw-r--r--src/tracker-extract/tracker-gsf.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/tracker-extract/tracker-gsf.c b/src/tracker-extract/tracker-gsf.c
index 0160e4cc4..592a37bb8 100644
--- a/src/tracker-extract/tracker-gsf.c
+++ b/src/tracker-extract/tracker-gsf.c
@@ -54,7 +54,14 @@ find_member (GsfInfile *arch,
dirname = g_strndup (name, slash - name);
- if ((member = gsf_infile_child_by_name (arch, dirname)) != NULL) {
+ /**
+ * Ignore if the directory is the current one that is ".".
+ * Go to next direcotry if exists
+ */
+
+ if (strcmp (dirname, ".") == 0) {
+ member = find_member (arch, slash + 1);
+ } else if ((member = gsf_infile_child_by_name (arch, dirname)) != NULL) {
GsfInfile *dir;
dir = GSF_INFILE (member);