X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcql_sortkeys.c;h=c3f0845b6f847916a806c67f58fbd5c6a2d4c136;hp=2ef374006923f75f3399a0fa9b1fba733338b43d;hb=d1b8a1c1647ebb00401f6b6e8f992cca7480b5f9;hpb=dd993ee2910a754d46b2223c06b09abdd61caceb diff --git a/src/cql_sortkeys.c b/src/cql_sortkeys.c index 2ef3740..c3f0845 100644 --- a/src/cql_sortkeys.c +++ b/src/cql_sortkeys.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ /** @@ -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"))