static yyconst flex_int32_t yy_meta[34] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
- 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
+ 2, 1, 1, 1, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 1
} ;
static yyconst flex_int16_t yy_nxt[98] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 4, 14, 15, 16, 17, 12, 12, 18, 12, 12,
+ 12, 14, 15, 16, 17, 12, 12, 18, 12, 12,
19, 12, 12, 12, 12, 12, 12, 12, 12, 20,
12, 12, 21, 28, 25, 50, 49, 48, 47, 46,
45, 44, 43, 42, 41, 40, 29, 39, 38, 37,
time_t t;
struct tm *tmp;
char buf1[64];
+ bstring q = NULL, search = NULL, replace = NULL;
for (p = spotlight_sparql_map; p->ssm_spotlight_attr; p++) {
if (strcmp(p->ssm_spotlight_attr, attr) == 0) {
sparqlvar++;
break;
case ssmt_str:
+ q = bformat("^%s$", val);
+ search = bfromcstr("*");
+ replace = bfromcstr(".*");
+ bfindreplace(q, search, replace, 0);
result = talloc_asprintf(ssp_slq, "?obj %s ?%c FILTER(regex(?%c, '%s'))",
p->ssm_sparql_attr,
sparqlvar,
sparqlvar,
- val);
+ bdata(q));
sparqlvar++;
break;
case ssmt_fts:
}
EC_CLEANUP:
+ if (q)
+ bdestroy(q);
+ if (search)
+ bdestroy(search);
+ if (replace)
+ bdestroy(replace);
return result;
}
time_t t;
struct tm *tmp;
char buf1[64];
+ bstring q = NULL, search = NULL, replace = NULL;
for (p = spotlight_sparql_map; p->ssm_spotlight_attr; p++) {
if (strcmp(p->ssm_spotlight_attr, attr) == 0) {
sparqlvar++;
break;
case ssmt_str:
+ q = bformat("^%s$", val);
+ search = bfromcstr("*");
+ replace = bfromcstr(".*");
+ bfindreplace(q, search, replace, 0);
result = talloc_asprintf(ssp_slq, "?obj %s ?%c FILTER(regex(?%c, '%s'))",
p->ssm_sparql_attr,
sparqlvar,
sparqlvar,
- val);
+ bdata(q));
sparqlvar++;
break;
case ssmt_fts:
}
EC_CLEANUP:
+ if (q)
+ bdestroy(q);
+ if (search)
+ bdestroy(search);
+ if (replace)
+ bdestroy(replace);
return result;
}