summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorignace nyamagana butera <nyamsprod@gmail.com>2016-07-22 08:48:11 +0200
committerignace nyamagana butera <nyamsprod@gmail.com>2016-07-25 08:51:46 +0200
commit8a20c56144effa552a8cba5d8c626063222975b7 (patch)
treefe82caaf2246086e0d491c50ed6daf9680235637 /src
parent2ec6db1e8c24c8d87e76d8380f5832303a0eae0c (diff)
downloadcsv-8a20c56144effa552a8cba5d8c626063222975b7.zip
csv-8a20c56144effa552a8cba5d8c626063222975b7.tar.gz
csv-8a20c56144effa552a8cba5d8c626063222975b7.tar.bz2
bug fix preserve fileObject CSV controls
When using AbstractCsv::createFromFileObject the CSV object inherit the SplFileObject csv controls A php bug was filled because SplFileObject::getCsvControl did not return the escape caracter (see: https://bugs.php.net/bug.php?id=72646) The bug is resolved so the patch can be completely applied and the testsuite is updated accordingly
Diffstat (limited to 'src')
-rw-r--r--src/AbstractCsv.php10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/AbstractCsv.php b/src/AbstractCsv.php
index df36c22..5bbba19 100644
--- a/src/AbstractCsv.php
+++ b/src/AbstractCsv.php
@@ -115,7 +115,15 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate
*/
public static function createFromFileObject(SplFileObject $file)
{
- return new static($file);
+ $csv = new static($file);
+ $controls = $file->getCsvControl();
+ $csv->setDelimiter($controls[0]);
+ $csv->setEnclosure($controls[1]);
+ if (isset($controls[2])) {
+ $csv->setEscape($controls[2]);
+ }
+
+ return $csv;
}
/**