29 $this->_dotEscape = $dotEscape;
30 parent::__construct($charStream, $filter);
35 return array(
'_charStream',
'_filter',
'_dotEscape');
40 return get_class($this).($this->_dotEscape ?
'.dotEscape' :
'');
45 parent::initSafeMap();
46 if ($this->_dotEscape) {
48 unset($this->_safeMap[0x2e]);
66 if ($maxLineLength > 76 || $maxLineLength <= 0) {
70 $thisLineLength = $maxLineLength - $firstLineOffset;
72 $this->_charStream->flushContents();
73 $this->_charStream->importByteStream($os);
81 if (isset($this->_filter)) {
83 while ($this->_filter->shouldBuffer($bytes)) {
89 foreach ($moreBytes as $b) {
94 $bytes = $this->_filter->filter($bytes);
98 if ($currentLine && $lineLen + $size >= $thisLineLength) {
99 $is->
write($prepend.$this->_standardize($currentLine));
102 $thisLineLength = $maxLineLength;
106 $currentLine .= $enc;
108 if (strlen($currentLine)) {
109 $is->
write($prepend.$this->_standardize($currentLine));
121 return 'quoted-printable';