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)