[Pkg-owncloud-commits] [php-sabre-vobject] 06/12: Fix for #94.
David Prévot
taffit at moszumanska.debian.org
Tue Jun 10 15:49:40 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch 2.1
in repository php-sabre-vobject.
commit 5524f038f6409c752da1cd88964ad7269a66d58d
Author: Evert Pot <me at evertpot.com>
Date: Tue Jun 3 12:37:52 2014 -0400
Fix for #94.
---
ChangeLog | 1 +
lib/Sabre/VObject/Parameter.php | 17 ++---------------
tests/Sabre/VObject/ParameterTest.php | 8 ++++++++
3 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2d9c989..26c8fef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,5 @@
2.1.5-stable (2014-06-03)
+ * Fixed: #94: Better parameter escaping.
* Changed: Documentation cleanups.
2.1.4-stable (2014-03-30)
diff --git a/lib/Sabre/VObject/Parameter.php b/lib/Sabre/VObject/Parameter.php
index 91b71db..0fd857e 100644
--- a/lib/Sabre/VObject/Parameter.php
+++ b/lib/Sabre/VObject/Parameter.php
@@ -69,21 +69,8 @@ class Parameter extends Node {
if (is_null($this->value)) {
return $this->name;
}
- $src = array(
- '\\',
- "\n",
- ';',
- ',',
- );
- $out = array(
- '\\\\',
- '\n',
- '\;',
- '\,',
- );
-
- $value = str_replace($src, $out, $this->value);
- if (strpos($value,":")!==false) {
+ $value = str_replace("\n", '\n', $this->value);
+ if (preg_match('#(?: [:;\\\\])#x', $value)) {
$value = '"' . $value . '"';
}
return $this->name . '=' . $value;
diff --git a/tests/Sabre/VObject/ParameterTest.php b/tests/Sabre/VObject/ParameterTest.php
index 90eb5d2..3ea1a9b 100644
--- a/tests/Sabre/VObject/ParameterTest.php
+++ b/tests/Sabre/VObject/ParameterTest.php
@@ -41,4 +41,12 @@ class ParameterTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals('NAME="va:lue"',$param->serialize());
}
+
+ function testSerializeSemiColon() {
+
+ $param = new Parameter('name','va;lue');
+ $this->assertEquals('NAME="va;lue"',$param->serialize());
+
+ }
+
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/php-sabre-vobject.git
More information about the Pkg-owncloud-commits
mailing list