File tree Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -157,7 +157,15 @@ func (r *Reader) readContinuedLineSlice(validateFirstLine func([]byte) error) ([
157
157
r .buf = append (r .buf [:0 ], trim (line )... )
158
158
159
159
// Read continuation lines.
160
- for r .skipSpace () > 0 {
160
+ for {
161
+ n , err := r .skipSpace ()
162
+ if n == 0 || err != nil {
163
+ // If function reads something, it ignores io.EOF.
164
+ if err == io .EOF && len (r .buf ) > 0 {
165
+ err = nil
166
+ }
167
+ return r .buf , err
168
+ }
161
169
line , err := r .readLineSlice ()
162
170
if err != nil {
163
171
break
@@ -169,21 +177,21 @@ func (r *Reader) readContinuedLineSlice(validateFirstLine func([]byte) error) ([
169
177
}
170
178
171
179
// skipSpace skips R over all spaces and returns the number of bytes skipped.
172
- func (r * Reader ) skipSpace () int {
180
+ func (r * Reader ) skipSpace () ( int , error ) {
173
181
n := 0
174
182
for {
175
183
c , err := r .R .ReadByte ()
176
184
if err != nil {
177
185
// Bufio will keep err until next read.
178
- break
186
+ return n , err
179
187
}
180
188
if c != ' ' && c != '\t' {
181
189
r .R .UnreadByte ()
182
190
break
183
191
}
184
192
n ++
185
193
}
186
- return n
194
+ return n , nil
187
195
}
188
196
189
197
func (r * Reader ) readCodeLine (expectCode int ) (code int , continued bool , message string , err error ) {
You can’t perform that action at this time.
0 commit comments