summaryrefslogtreecommitdiff
path: root/extra/virtuoso/fix-unicode.patch
blob: 30046d2332adf3c9b89f4ae3abf0f45567945a53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;