summaryrefslogtreecommitdiff
path: root/extra/virtuoso/fix-unicode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/virtuoso/fix-unicode.patch')
-rw-r--r--extra/virtuoso/fix-unicode.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/extra/virtuoso/fix-unicode.patch b/extra/virtuoso/fix-unicode.patch
new file mode 100644
index 000000000..30046d233
--- /dev/null
+++ b/extra/virtuoso/fix-unicode.patch
@@ -0,0 +1,21 @@
+Index: libsrc/Wi/xqf.c
+===================================================================
+RCS file: /opldev/source/CVS-MASTER/virtuoso-opensource/libsrc/Wi/xqf.c,v
+retrieving revision 1.21.2.9
+retrieving revision 1.21.2.12
+diff -u -r1.21.2.9 -r1.21.2.12
+--- libsrc/Wi/xqf.c 3 Mar 2011 11:56:45 -0000 1.21.2.9
++++ libsrc/Wi/xqf.c 26 Aug 2011 19:34:56 -0000 1.21.2.12
+@@ -3520,6 +3552,12 @@
+ desc = xqf_str_parser_descs + desc_idx;
+ if (DV_DB_NULL == arg_dtp)
+ return NEW_DB_NULL;
++ /* if we have wide and we want typed string we do utf8, cast do to default charset so we do not do it */
++ if (DV_WIDE == arg_dtp && desc->p_dest_dtp == DV_STRING)
++ {
++ res = box_wide_as_utf8_char (arg, box_length (arg) / sizeof (wchar_t) - 1, DV_STRING);
++ goto res_ready;
++ }
+ if (DV_STRING != arg_dtp)
+ {
+ caddr_t err = NULL;