[build-path-prefix-map-spec] 19/50: Change %% to %p so l-to-r parsing and .replace()*3 both parse "%%+%" in the same way

Ximin Luo infinity0 at debian.org
Fri Mar 10 15:17:20 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository build-path-prefix-map-spec.

commit c00bb7b1867a3132aa413c1a681d027778605fb5
Author: Ximin Luo <infinity0 at debian.org>
Date:   Mon Jan 30 16:32:50 2017 +0100

    Change %% to %p so l-to-r parsing and .replace()*3 both parse "%%+%" in the same way
---
 consume/pecsplit.c                                      | 2 +-
 consume/pecsplit.js                                     | 2 +-
 consume/pecsplit.py                                     | 2 +-
 consume/testcases/pecsplit.0.long-pc.env                | 1 +
 consume/testcases/{0.basic.in => pecsplit.0.long-pc.in} | 1 +
 consume/testcases/pecsplit.0.long-pc.out                | 4 ++++
 consume/testcases/pecsplit.0.short-pc.env               | 2 +-
 7 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/consume/pecsplit.c b/consume/pecsplit.c
index 9468ab4..e8b345a 100644
--- a/consume/pecsplit.c
+++ b/consume/pecsplit.c
@@ -21,7 +21,7 @@ unquote (char *src)
 	  case '+':
 	    *dest = '=';
 	  unquoted:
-	  case '%':
+	  case 'p':
 	    ++src;
 	  }
       }
diff --git a/consume/pecsplit.js b/consume/pecsplit.js
index 370284a..7dc3b00 100755
--- a/consume/pecsplit.js
+++ b/consume/pecsplit.js
@@ -1,7 +1,7 @@
 #!/usr/bin/nodejs
 
 var unquote = function(x) {
-    return x.replace(/%\+/g, '=').replace(/%;/g, ':').replace(/%%/g, '%');
+    return x.replace(/%\+/g, '=').replace(/%;/g, ':').replace(/%p/g, '%');
 };
 
 var parse_prefix_map = function(x) {
diff --git a/consume/pecsplit.py b/consume/pecsplit.py
index 5192e0c..3f1f88f 100755
--- a/consume/pecsplit.py
+++ b/consume/pecsplit.py
@@ -8,7 +8,7 @@ import sys
 chr_n0 = lambda x: (1/x, chr(x))[1]
 
 def _dequote(part):
-    return part.replace("%+", '=').replace("%;", ':').replace("%%", '%');
+    return part.replace("%+", '=').replace("%;", ':').replace("%p", '%');
 
 def decode(prefix_str):
     tuples = (part.split("=") for part in prefix_str.split(":") if part)
diff --git a/consume/testcases/pecsplit.0.long-pc.env b/consume/testcases/pecsplit.0.long-pc.env
new file mode 100644
index 0000000..e8705c3
--- /dev/null
+++ b/consume/testcases/pecsplit.0.long-pc.env
@@ -0,0 +1 @@
+/a/b%+yyy=ERROR:/a=lol%p%:/b%p=foo%%%%p+%:/a/b%+yyy=secreteh
diff --git a/consume/testcases/0.basic.in b/consume/testcases/pecsplit.0.long-pc.in
similarity index 74%
copy from consume/testcases/0.basic.in
copy to consume/testcases/pecsplit.0.long-pc.in
index 2021286..d8d7867 100644
--- a/consume/testcases/0.basic.in
+++ b/consume/testcases/pecsplit.0.long-pc.in
@@ -1,3 +1,4 @@
 /a/d
 /b/1234
+/b%/1234
 /a/b=yyy/xxx
diff --git a/consume/testcases/pecsplit.0.long-pc.out b/consume/testcases/pecsplit.0.long-pc.out
new file mode 100644
index 0000000..cd847e5
--- /dev/null
+++ b/consume/testcases/pecsplit.0.long-pc.out
@@ -0,0 +1,4 @@
+lol%%/d
+/b/1234
+foo%%%%+%/1234
+secreteh/xxx
diff --git a/consume/testcases/pecsplit.0.short-pc.env b/consume/testcases/pecsplit.0.short-pc.env
index aabad14..f9558be 100644
--- a/consume/testcases/pecsplit.0.short-pc.env
+++ b/consume/testcases/pecsplit.0.short-pc.env
@@ -1 +1 @@
-/a/b%+yyy=ERROR%:/a=lol%%%:/b%%=foo%%%%:/a/b%+yyy%=sec%;reteh
+/a/b%+yyy=ERROR%:/a=lol%p%:/b%p=foo%p%p:/a/b%+yyy%=sec%;reteh

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/build-path-prefix-map-spec.git



More information about the Reproducible-commits mailing list