#include "spotlight_SPARQL_map.h"
+#define NOTSUPPORTED NULL
+#define SPECIAL NULL
+
struct spotlight_sparql_map spotlight_sparql_map[] = {
/* ssm_spotlight_attr ssm_type, ssm_sparql_attr */
{"*", ssmt_fts, "fts:match"},
/* Filesystem metadata */
- {"kMDItemFSLabel", ssmt_num, ""},
+ {"kMDItemFSLabel", ssmt_num, NOTSUPPORTED},
{"kMDItemDisplayName", ssmt_str, "nfo:fileName"},
{"kMDItemFSName", ssmt_str, "nfo:fileName"},
{"kMDItemFSContentChangeDate", ssmt_date, "nfo:fileLastModified"},
{"kMDItemDurationSeconds", ssmt_num, "nfo:duration"},
{"kMDItemNumberOfPages", ssmt_num, "nfo:pageCount"},
{"kMDItemTitle", ssmt_str, "nie:title"},
- {"_kMDItemGroupId", ssmt_type, NULL},
- {"kMDItemContentTypeTree", ssmt_type, NULL},
+ {"_kMDItemGroupId", ssmt_type, SPECIAL},
+ {"kMDItemContentTypeTree", ssmt_type, SPECIAL},
/* Image metadata */
{"kMDItemPixelWidth", ssmt_num, "nfo:width"},
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) {
+ if (p->ssm_sparql_attr && strcmp(p->ssm_spotlight_attr, attr) == 0) {
switch (p->ssm_type) {
case ssmt_bool:
result = talloc_asprintf(ssp_slq, "?obj %s '%s'", p->ssm_sparql_attr, val);
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) {
+ if (p->ssm_sparql_attr && strcmp(p->ssm_spotlight_attr, attr) == 0) {
switch (p->ssm_type) {
case ssmt_bool:
result = talloc_asprintf(ssp_slq, "?obj %s '%s'", p->ssm_sparql_attr, val);