X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fcql_sortkeys.c;h=f54fd212663f1e556f647dd001972fcf1e8b659c;hb=08e2bab36d24a98ed921130df0973370be5aac80;hp=2ef374006923f75f3399a0fa9b1fba733338b43d;hpb=dd993ee2910a754d46b2223c06b09abdd61caceb;p=yaz-moved-to-github.git diff --git a/src/cql_sortkeys.c b/src/cql_sortkeys.c index 2ef3740..f54fd21 100644 --- a/src/cql_sortkeys.c +++ b/src/cql_sortkeys.c @@ -33,10 +33,11 @@ static void pr_n(void (*pr)(const char *buf, void *client_data), } else { - strcpy(tmp, buf); + memcpy(tmp, buf, left); + tmp[left] = '\0'; left = 0; } - pr(client_data, tmp); + pr(tmp, client_data); } } @@ -50,6 +51,8 @@ static int cql_sort_modifiers(struct cql_node *cn, for (; cn; cn = cn->u.st.modifiers) { const char *indx = cn->u.st.index; + if (!strncmp(indx, "sort.", 5)) + indx = indx + 5; if (!strcmp(indx, "ignoreCase")) caseSensitive = 0; else if (!strcmp(indx, "respectCase"))