summaryrefslogtreecommitdiff
path: root/src/libtracker-common/tracker-domain-ontology.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-common/tracker-domain-ontology.c')
-rw-r--r--src/libtracker-common/tracker-domain-ontology.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libtracker-common/tracker-domain-ontology.c b/src/libtracker-common/tracker-domain-ontology.c
index 65a3fda0b..f8de59ab5 100644
--- a/src/libtracker-common/tracker-domain-ontology.c
+++ b/src/libtracker-common/tracker-domain-ontology.c
@@ -302,7 +302,17 @@ tracker_domain_ontology_initable_init (GInitable *initable,
domain_ontology = TRACKER_DOMAIN_ONTOLOGY (initable);
priv = tracker_domain_ontology_get_instance_private (domain_ontology);
- if (priv->name) {
+ if (priv->name && priv->name[0] == '/') {
+ if (!g_file_test (priv->name, G_FILE_TEST_IS_REGULAR)) {
+ inner_error = g_error_new (G_KEY_FILE_ERROR,
+ G_KEY_FILE_ERROR_NOT_FOUND,
+ "Could not find rule at '%s'",
+ priv->name);
+ goto end;
+ }
+
+ path = g_strdup (priv->name);
+ } else if (priv->name) {
path = find_rule_in_data_dirs (priv->name);
if (!path) {