From: Frank Lahm Date: Thu, 1 Nov 2012 18:52:46 +0000 (+0100) Subject: Add negation support X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=commitdiff_plain;h=42bb44c181e57d78e6c3cd739080851ca189b3e6 Add negation support --- diff --git a/etc/afpd/spotlight_rawquery_parser.c b/etc/afpd/spotlight_rawquery_parser.c index e85ada4c..328b6ff7 100644 --- a/etc/afpd/spotlight_rawquery_parser.c +++ b/etc/afpd/spotlight_rawquery_parser.c @@ -1874,11 +1874,12 @@ const char *map_expr(const char *attr, char op, const char *val) result = talloc_asprintf(ssp_slq, "?obj %s '%s'", p->ssm_sparql_attr, val); break; case ssmt_num: - result = talloc_asprintf(ssp_slq, "?obj %s ?%c FILTER(?%c %c '%s')", + result = talloc_asprintf(ssp_slq, "?obj %s ?%c FILTER(?%c %c%c '%s')", p->ssm_sparql_attr, sparqlvar, sparqlvar, op, + op == '!' ? '=' : ' ', /* append '=' to '!' */ val); sparqlvar++; break; diff --git a/etc/afpd/spotlight_rawquery_parser.y b/etc/afpd/spotlight_rawquery_parser.y index ff1031ce..3806987f 100644 --- a/etc/afpd/spotlight_rawquery_parser.y +++ b/etc/afpd/spotlight_rawquery_parser.y @@ -181,11 +181,12 @@ const char *map_expr(const char *attr, char op, const char *val) result = talloc_asprintf(ssp_slq, "?obj %s '%s'", p->ssm_sparql_attr, val); break; case ssmt_num: - result = talloc_asprintf(ssp_slq, "?obj %s ?%c FILTER(?%c %c '%s')", + result = talloc_asprintf(ssp_slq, "?obj %s ?%c FILTER(?%c %c%c '%s')", p->ssm_sparql_attr, sparqlvar, sparqlvar, op, + op == '!' ? '=' : ' ', /* append '=' to '!' */ val); sparqlvar++; break;