On Sun, Jul 08, 2012 at 05:27:36PM +0200, Olivier Berger wrote:
> 
> The upstream maintainers seem to have provided some explanation in
> http://sourceforge.net/mailarchive/message.php?msg_id=29364386 without
> any pointer to the git commits in question.
> 
> This may be
> https://github.com/openlink/virtuoso-opensource/commit/b01c641b917485d0e23beb98787e43cb40baae8a
> but I'm not sure.
> 

I've repackaged applying these changes, and it seems to fix the bug, AFAICT.

See attached patch.

Hope this helps.

Best regards,
-- 
Olivier BERGER 
http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 2048R/5819D7E8
Ingenieur Recherche - Dept INF
Institut Mines-Telecom, Telecom SudParis, Evry (France)

Description: Fixes 680764
   * fix bug 680764
Author: Olivier Berger <ober...@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>

--- virtuoso-opensource-6.1.4+dfsg1.orig/libsrc/Wi/sql_to_c.awk
+++ virtuoso-opensource-6.1.4+dfsg1/libsrc/Wi/sql_to_c.awk
@@ -343,13 +343,7 @@ BEGIN   {
 
                 # does escape the symbols
                fun = $0
-               q = "\\\\"
-               if (PROCINFO["version"] ~ /^4/)
-                   gsub ( q, q q, fun)
-               else
-                   gsub ( q, q, fun)
-
-               #WAS: gsub ( /\\/, "\\\\", fun)
+               gsub ("\\\\", "&&", fun)
 
                # remove whitespace except when there is just a semicolon
                if ((in_xsl_mode == 0) && (in_xsd_mode == 0))
--- virtuoso-opensource-6.1.4+dfsg1.orig/binsrc/ws/wsrm/xsd2sql.awk
+++ virtuoso-opensource-6.1.4+dfsg1/binsrc/ws/wsrm/xsd2sql.awk
@@ -54,7 +54,7 @@ BEGIN {
       print "  ses := string_output ();"
     }
   str = $0
-  gsub ( /\\/, "\\\\", str)
+  gsub ( "\\\\", "&&", str)
   gsub ( /'/, "\\'", str)
 
   #
--- virtuoso-opensource-6.1.4+dfsg1.orig/binsrc/hosting/python/py_to_c.awk
+++ virtuoso-opensource-6.1.4+dfsg1/binsrc/hosting/python/py_to_c.awk
@@ -48,7 +48,7 @@ END {
     }
 
   x = $0
-  gsub (/\\/, "\\\\", x)
+  gsub ( "\\\\", "&&", x)
   gsub (/\"/, "\\\"", x)
   print "\"" x "\\n\""
 }
--- virtuoso-opensource-6.1.4+dfsg1.orig/binsrc/hosting/perl/pl_to_c.awk
+++ virtuoso-opensource-6.1.4+dfsg1/binsrc/hosting/perl/pl_to_c.awk
@@ -42,7 +42,7 @@ END {
     }
 
   x = $0
-  gsub (/\\/, "\\\\", x)
+  gsub ( "\\\\", "&&", x)
   gsub (/\"/, "\\\"", x)
   print "\"" x "\\n\""
 }
--- virtuoso-opensource-6.1.4+dfsg1.orig/binsrc/cached_resources/res_to_c.awk
+++ virtuoso-opensource-6.1.4+dfsg1/binsrc/cached_resources/res_to_c.awk
@@ -30,13 +30,7 @@ BEGIN   {
        }
        {
          fun = $0
-         # was: gsub ( /\\/, "\\\\", fun)
-         q = "\\\\"
-         if (PROCINFO["version"] ~ /^4/)
-           gsub ( q, q q, fun)
-         else
-           gsub ( q, q, fun)
-
+         gsub ( "\\\\", "&&", fun)
          gsub ( /"/, "\\\"", fun)
          gsub ( /\$/, "\\044", fun)
          gsub ( /.*/, "\"&\\n\",", fun)

Reply via email to