| 107 | | // CRを検出した場合 |
|---|
| 108 | | if (byte == CARRIAGE_RETURN) { |
|---|
| 109 | | // 次byteのLFをスキップ |
|---|
| | 149 | |
|---|
| | 150 | if (_skipNextLineFeed) { |
|---|
| | 151 | _skipNextLineFeed = false; |
|---|
| | 152 | if (byte == LINE_FEED) { |
|---|
| | 153 | if (!_trimLineFeed) { |
|---|
| | 154 | _buffer.writeByte(byte); |
|---|
| | 155 | if (!_skipBlankLine || _buffer.length > 2) { |
|---|
| | 156 | dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false, false, e.bytesLoaded-dataInput.bytesAvailable, e.bytesTotal)); |
|---|
| | 157 | } |
|---|
| | 158 | } else { |
|---|
| | 159 | if (!_skipBlankLine || _buffer.length > 1) { |
|---|
| | 160 | dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false, false, e.bytesLoaded-dataInput.bytesAvailable, e.bytesTotal)); |
|---|
| | 161 | } |
|---|
| | 162 | } |
|---|
| | 163 | } else { |
|---|
| | 164 | if (!_skipBlankLine || _buffer.length > 1) { |
|---|
| | 165 | dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false, false, e.bytesLoaded-dataInput.bytesAvailable-1, e.bytesTotal)); |
|---|
| | 166 | } |
|---|
| | 167 | } |
|---|
| | 168 | _buffer = new ByteArray(); |
|---|
| | 169 | continue; |
|---|
| | 170 | |
|---|
| | 171 | } else if (byte == LINE_FEED) { |
|---|
| | 172 | if (!_trimLineFeed) { |
|---|
| | 173 | _buffer.writeByte(byte); |
|---|
| | 174 | } |
|---|
| | 175 | if (!_skipBlankLine || _buffer.length > 1) { |
|---|
| | 176 | dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false, false, e.bytesLoaded-dataInput.bytesAvailable, e.bytesTotal)); |
|---|
| | 177 | } |
|---|
| | 178 | _buffer = new ByteArray(); |
|---|
| | 179 | continue; |
|---|
| | 180 | } else if (byte == CARRIAGE_RETURN) { |
|---|
| | 181 | if (!_trimLineFeed) { |
|---|
| | 182 | _buffer.writeByte(byte); |
|---|
| | 183 | } |
|---|
| 113 | | |
|---|
| 114 | | // _skipNextLineFeedフラグが立っていた場合 |
|---|
| 115 | | if (_skipNextLineFeed) { |
|---|
| 116 | | // 進捗を通知 |
|---|
| 117 | | dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false, false, e.bytesLoaded-dataInput.bytesAvailable, e.bytesTotal)); |
|---|
| 118 | | _buffer = new ByteArray(); |
|---|
| 119 | | // _skipNextLineFeedフラグを解除 |
|---|
| 120 | | _skipNextLineFeed = false; |
|---|
| 121 | | // LFを検出したらスキップ |
|---|
| 122 | | if (byte == LINE_FEED) { |
|---|
| 123 | | continue; |
|---|
| 124 | | } |
|---|
| 125 | | } else if (byte == LINE_FEED) { |
|---|
| 126 | | // 進捗を通知 |
|---|
| 127 | | dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false, false, e.bytesLoaded-dataInput.bytesAvailable, e.bytesTotal)); |
|---|
| 128 | | _buffer = new ByteArray(); |
|---|
| 129 | | continue; |
|---|
| 130 | | } |
|---|
| | 187 | trace(byte); |
|---|