From 5dfe4782ea86ecbb07df8c7246a4cd223d7cd3da Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Wed, 31 May 2017 14:07:48 +0200 Subject: [PATCH] LegacyConfigParser: Trim line in parseHeaderLine To avoid whitespace and \r in header. Also supports DOS line endings. fixes #136 --- library/Businessprocess/Storage/LegacyConfigParser.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/library/Businessprocess/Storage/LegacyConfigParser.php b/library/Businessprocess/Storage/LegacyConfigParser.php index 84b84a3..427b3ef 100644 --- a/library/Businessprocess/Storage/LegacyConfigParser.php +++ b/library/Businessprocess/Storage/LegacyConfigParser.php @@ -73,7 +73,7 @@ class LegacyConfigParser static::readMetadataFromString($name, $string) ); - foreach (preg_split('/\n/', $string) as $line) { + foreach (preg_split('/\r?\n/', $string) as $line) { $parser->parseLine($line); } @@ -137,7 +137,7 @@ class LegacyConfigParser protected function readHeaderString($string, Metadata $metadata) { - foreach (preg_split('/\n/', $string) as $line) { + foreach (preg_split('/\r?\n/', $string) as $line) { $this->parseHeaderLine($line, $metadata); } @@ -168,8 +168,7 @@ class LegacyConfigParser */ protected static function parseHeaderLine($line, Metadata $metadata) { - $line = trim($line); - if (preg_match('/^\s*#\s+(.+?)\s*:\s*(.+)$/', $line, $m)) { + if (preg_match('/^\s*#\s+(.+?)\s*:\s*(.+)$/', trim($line), $m)) { if ($metadata->hasKey($m[1])) { $metadata->set($m[1], $m[2]); }