|
|
|
@ -1055,9 +1055,17 @@ PHPAPI char *php_stream_get_record(php_stream *stream, size_t maxlen, size_t *re |
|
|
|
if (has_delim) { |
|
|
|
/* search for delimiter, but skip buffered_len (the number of bytes |
|
|
|
* buffered before this loop iteration), as they have already been |
|
|
|
* searched for the delimiter */ |
|
|
|
* searched for the delimiter. |
|
|
|
* The left part of the delimiter may still remain in the buffer, |
|
|
|
* so subtract up to <delim_len - 1> from buffered_len, which is |
|
|
|
* the ammount of data we skip on this search as an optimization |
|
|
|
*/ |
|
|
|
found_delim = _php_stream_search_delim( |
|
|
|
stream, maxlen, buffered_len, delim, delim_len TSRMLS_CC); |
|
|
|
stream, maxlen, |
|
|
|
buffered_len >= (delim_len - 1) |
|
|
|
? buffered_len - (delim_len - 1) |
|
|
|
: 0, |
|
|
|
delim, delim_len TSRMLS_CC); |
|
|
|
if (found_delim) { |
|
|
|
break; |
|
|
|
} |
|
|
|
|