/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
if ((int) sizeof(double) >= j)
*(double*) cp = 12.2;
}
-
+
for (j = 2000; j<20000; j+= 2000)
{
cp = (char *) nmem_malloc(n, j);
nmem_strsplitx(nmem, ",", "", &array, &num, 0);
YAZ_CHECK(num == 1);
YAZ_CHECK(num > 0 && !strcmp(array[0], ""));
-
+
nmem_strsplit(nmem, ",", ",,", &array, &num);
YAZ_CHECK(num == 0);
YAZ_CHECK(num > 0 && !strcmp(array[0], ""));
YAZ_CHECK(num > 1 && !strcmp(array[1], ""));
YAZ_CHECK(num > 2 && !strcmp(array[2], ""));
-
+
nmem_strsplit(nmem, ",", ",a,b,,cd", &array, &num);
YAZ_CHECK(num == 3);
YAZ_CHECK(num > 0 && !strcmp(array[0], "a"));
YAZ_CHECK(num == 4);
YAZ_CHECK(num > 0 && !strcmp(array[0], ""));
YAZ_CHECK(num > 1 && !strcmp(array[1], "a"));
- YAZ_CHECK(num > 2 && !strcmp(array[2], "b\\,"));
+ YAZ_CHECK(num > 2 && !strcmp(array[2], "b,"));
YAZ_CHECK(num > 3 && !strcmp(array[3], "cd"));
- nmem_strsplit_escape(nmem, ",", "\\,a,b\\,,cd", &array, &num, 0, '\\');
+ nmem_strsplit_escape(nmem, ",", "\\,a,b\\,,c\\d", &array, &num, 0, '\\');
YAZ_CHECK(num == 3);
- YAZ_CHECK(num > 0 && !strcmp(array[0], "\\,a"));
- YAZ_CHECK(num > 1 && !strcmp(array[1], "b\\,"));
+ YAZ_CHECK(num > 0 && !strcmp(array[0], ",a"));
+ YAZ_CHECK(num > 1 && !strcmp(array[1], "b,"));
YAZ_CHECK(num > 2 && !strcmp(array[2], "cd"));
- nmem_strsplit_escape(nmem, ",", "\\,a,b\\,\\,cd", &array, &num, 0, '\\');
+ nmem_strsplit_escape2(nmem, ",", "\\,a,b\\,\\,c\\\\\\|d",
+ &array, &num, 0, '\\', 1);
+ YAZ_CHECK(num == 2);
+ YAZ_CHECK(num > 0 && !strcmp(array[0], ",a"));
+ YAZ_CHECK(num > 1 && !strcmp(array[1], "b,,c\\|d"));
+
+
+ nmem_strsplit_escape2(nmem, ",", "\\,a,b\\,\\,c\\\\\\|d",
+ &array, &num, 0, '\\', 0);
YAZ_CHECK(num == 2);
YAZ_CHECK(num > 0 && !strcmp(array[0], "\\,a"));
- YAZ_CHECK(num > 1 && !strcmp(array[1], "b\\,\\,cd"));
+ YAZ_CHECK(num > 1 && !strcmp(array[1], "b\\,\\,c\\\\\\|d"));
nmem_destroy(nmem);
}
int main (int argc, char **argv)
{
YAZ_CHECK_INIT(argc, argv);
+ YAZ_CHECK_LOG();
tst_nmem_malloc();
tst_nmem_strsplit();
YAZ_CHECK_TERM;