Lines Matching refs:stream

78 	php_stream *stream;  in forget_persistent_resource_id_numbers()  local
84 stream = (php_stream*)rsrc->ptr; in forget_persistent_resource_id_numbers()
87 fprintf(stderr, "forget_persistent: %s:%p\n", stream->ops->label, stream); in forget_persistent_resource_id_numbers()
90 stream->rsrc_id = FAILURE; in forget_persistent_resource_id_numbers()
92 if (stream->context) { in forget_persistent_resource_id_numbers()
95 stream->context TSRMLS_CC); in forget_persistent_resource_id_numbers()
96 stream->context = NULL; in forget_persistent_resource_id_numbers()
117 PHPAPI int php_stream_from_persistent_id(const char *persistent_id, php_stream **stream TSRMLS_DC) in php_stream_from_persistent_id()
123 if (stream) { in php_stream_from_persistent_id()
142 *stream = (php_stream*)le->ptr; in php_stream_from_persistent_id()
145 (*stream)->rsrc_id = ZEND_REGISTER_RESOURCE(NULL, *stream, le_pstream); in php_stream_from_persistent_id()
148 (*stream)->rsrc_id = index; in php_stream_from_persistent_id()
296 ret->readfilters.stream = ret; in _php_stream_alloc()
297 ret->writefilters.stream = ret; in _php_stream_alloc()
383 PHPAPI int _php_stream_free(php_stream *stream, int close_options TSRMLS_DC) /* {{{ */ in _php_stream_free() argument
394 context = stream->context; in _php_stream_free()
397 if (stream->flags & PHP_STREAM_FLAG_NO_CLOSE) { in _php_stream_free()
405stream->ops->label, stream, stream->orig_path, stream->in_free, _php_stream_pretty_free_options(cl… in _php_stream_free()
410 if (stream->in_free) { in _php_stream_free()
412 …if ((stream->in_free == 1) && (close_options & PHP_STREAM_FREE_IGNORE_ENCLOSING) && (stream->enclo… in _php_stream_free()
419 stream->in_free++; in _php_stream_free()
426 (stream->enclosing_stream != NULL)) { in _php_stream_free()
427 php_stream *enclosing_stream = stream->enclosing_stream; in _php_stream_free()
428 stream->enclosing_stream = NULL; in _php_stream_free()
442 if (stream->fclose_stdiocast == PHP_STREAM_FCLOSE_FOPENCOOKIE) { in _php_stream_free()
446 php_stream_auto_cleanup(stream); in _php_stream_free()
447 stream->in_free--; in _php_stream_free()
456 stream->ops->label, stream, stream->orig_path, preserve_handle, release_cast, in _php_stream_free()
461 _php_stream_flush(stream, 1 TSRMLS_CC); in _php_stream_free()
470 while (zend_list_delete(stream->rsrc_id) == SUCCESS) {} in _php_stream_free()
474 if (release_cast && stream->fclose_stdiocast == PHP_STREAM_FCLOSE_FOPENCOOKIE) { in _php_stream_free()
482 stream->in_free = 0; in _php_stream_free()
483 return fclose(stream->stdiocast); in _php_stream_free()
486 ret = stream->ops->close(stream, preserve_handle ? 0 : 1 TSRMLS_CC); in _php_stream_free()
487 stream->abstract = NULL; in _php_stream_free()
490 if (release_cast && stream->fclose_stdiocast == PHP_STREAM_FCLOSE_FDOPEN && stream->stdiocast) { in _php_stream_free()
491 fclose(stream->stdiocast); in _php_stream_free()
492 stream->stdiocast = NULL; in _php_stream_free()
493 stream->fclose_stdiocast = PHP_STREAM_FCLOSE_NONE; in _php_stream_free()
498 while (stream->readfilters.head) { in _php_stream_free()
499 php_stream_filter_remove(stream->readfilters.head, 1 TSRMLS_CC); in _php_stream_free()
501 while (stream->writefilters.head) { in _php_stream_free()
502 php_stream_filter_remove(stream->writefilters.head, 1 TSRMLS_CC); in _php_stream_free()
505 if (stream->wrapper && stream->wrapper->wops && stream->wrapper->wops->stream_closer) { in _php_stream_free()
506 stream->wrapper->wops->stream_closer(stream->wrapper, stream TSRMLS_CC); in _php_stream_free()
507 stream->wrapper = NULL; in _php_stream_free()
510 if (stream->wrapperdata) { in _php_stream_free()
511 zval_ptr_dtor(&stream->wrapperdata); in _php_stream_free()
512 stream->wrapperdata = NULL; in _php_stream_free()
515 if (stream->readbuf) { in _php_stream_free()
516 pefree(stream->readbuf, stream->is_persistent); in _php_stream_free()
517 stream->readbuf = NULL; in _php_stream_free()
520 if (stream->is_persistent && (close_options & PHP_STREAM_FREE_PERSISTENT)) { in _php_stream_free()
522 …h_argument(&EG(persistent_list), (apply_func_arg_t) _php_stream_free_persistent, stream TSRMLS_CC); in _php_stream_free()
525 …if ((close_options & PHP_STREAM_FREE_RSRC_DTOR) && (stream->__exposed == 0) && (EG(error_reporting… in _php_stream_free()
530 …eam of type '%s' %p (path:%s) was not closed\n", __LINE__, stream->ops->label, stream, stream->ori… in _php_stream_free()
532 if (stream->orig_path) { in _php_stream_free()
533 pefree(stream->orig_path, stream->is_persistent); in _php_stream_free()
534 stream->orig_path = NULL; in _php_stream_free()
544 if (stream->orig_path) { in _php_stream_free()
545 pefree(stream->orig_path, stream->is_persistent); in _php_stream_free()
546 stream->orig_path = NULL; in _php_stream_free()
549 pefree(stream, stream->is_persistent); in _php_stream_free()
552 if (stream->orig_path) { in _php_stream_free()
553 pefree(stream->orig_path, stream->is_persistent); in _php_stream_free()
554 stream->orig_path = NULL; in _php_stream_free()
557 pefree(stream, stream->is_persistent); in _php_stream_free()
571 PHPAPI void _php_stream_fill_read_buffer(php_stream *stream, size_t size TSRMLS_DC) in _php_stream_fill_read_buffer() argument
575 if (stream->readfilters.head) { in _php_stream_fill_read_buffer()
583 stream->writepos = stream->readpos = 0; in _php_stream_fill_read_buffer()
586 chunk_buf = emalloc(stream->chunk_size); in _php_stream_fill_read_buffer()
588 while (!stream->eof && !err_flag && (stream->writepos - stream->readpos < (off_t)size)) { in _php_stream_fill_read_buffer()
596 justread = stream->ops->read(stream, chunk_buf, stream->chunk_size TSRMLS_CC); in _php_stream_fill_read_buffer()
598 bucket = php_stream_bucket_new(stream, chunk_buf, justread, 0, 0 TSRMLS_CC); in _php_stream_fill_read_buffer()
605 flags = stream->eof ? PSFS_FLAG_FLUSH_CLOSE : PSFS_FLAG_FLUSH_INC; in _php_stream_fill_read_buffer()
609 for (filter = stream->readfilters.head; filter; filter = filter->next) { in _php_stream_fill_read_buffer()
610 status = filter->fops->filter(stream, filter, brig_inp, brig_outp, NULL, flags TSRMLS_CC); in _php_stream_fill_read_buffer()
634 if (stream->readbuflen - stream->writepos < bucket->buflen) { in _php_stream_fill_read_buffer()
635 stream->readbuflen += bucket->buflen; in _php_stream_fill_read_buffer()
636 stream->readbuf = perealloc(stream->readbuf, stream->readbuflen, in _php_stream_fill_read_buffer()
637 stream->is_persistent); in _php_stream_fill_read_buffer()
639 memcpy(stream->readbuf + stream->writepos, bucket->buf, bucket->buflen); in _php_stream_fill_read_buffer()
640 stream->writepos += bucket->buflen; in _php_stream_fill_read_buffer()
674 if (stream->writepos - stream->readpos < (off_t)size) { in _php_stream_fill_read_buffer()
678 if (stream->readbuf && stream->readbuflen - stream->writepos < stream->chunk_size) { in _php_stream_fill_read_buffer()
679 … memmove(stream->readbuf, stream->readbuf + stream->readpos, stream->readbuflen - stream->readpos); in _php_stream_fill_read_buffer()
680 stream->writepos -= stream->readpos; in _php_stream_fill_read_buffer()
681 stream->readpos = 0; in _php_stream_fill_read_buffer()
686 if (stream->readbuflen - stream->writepos < stream->chunk_size) { in _php_stream_fill_read_buffer()
687 stream->readbuflen += stream->chunk_size; in _php_stream_fill_read_buffer()
688 stream->readbuf = perealloc(stream->readbuf, stream->readbuflen, in _php_stream_fill_read_buffer()
689 stream->is_persistent); in _php_stream_fill_read_buffer()
692 justread = stream->ops->read(stream, stream->readbuf + stream->writepos, in _php_stream_fill_read_buffer()
693 stream->readbuflen - stream->writepos in _php_stream_fill_read_buffer()
697 stream->writepos += justread; in _php_stream_fill_read_buffer()
703 PHPAPI size_t _php_stream_read(php_stream *stream, char *buf, size_t size TSRMLS_DC) in _php_stream_read() argument
713 if (stream->writepos > stream->readpos) { in _php_stream_read()
715 toread = stream->writepos - stream->readpos; in _php_stream_read()
720 memcpy(buf, stream->readbuf + stream->readpos, toread); in _php_stream_read()
721 stream->readpos += toread; in _php_stream_read()
732 …if (!stream->readfilters.head && (stream->flags & PHP_STREAM_FLAG_NO_BUFFER || stream->chunk_size … in _php_stream_read()
733 toread = stream->ops->read(stream, buf, size TSRMLS_CC); in _php_stream_read()
739 php_stream_fill_read_buffer(stream, size); in _php_stream_read()
741 toread = stream->writepos - stream->readpos; in _php_stream_read()
747 memcpy(buf, stream->readbuf + stream->readpos, toread); in _php_stream_read()
748 stream->readpos += toread; in _php_stream_read()
761 if (stream->wrapper != &php_plain_files_wrapper) { in _php_stream_read()
767 stream->position += didread; in _php_stream_read()
773 PHPAPI int _php_stream_eof(php_stream *stream TSRMLS_DC) in _php_stream_eof()
776 if (stream->writepos - stream->readpos > 0) { in _php_stream_eof()
781 if (!stream->eof && PHP_STREAM_OPTION_RETURN_ERR == in _php_stream_eof()
782 php_stream_set_option(stream, PHP_STREAM_OPTION_CHECK_LIVENESS, in _php_stream_eof()
784 stream->eof = 1; in _php_stream_eof()
787 return stream->eof; in _php_stream_eof()
790 PHPAPI int _php_stream_putc(php_stream *stream, int c TSRMLS_DC) in _php_stream_putc() argument
794 if (php_stream_write(stream, &buf, 1) > 0) { in _php_stream_putc()
800 PHPAPI int _php_stream_getc(php_stream *stream TSRMLS_DC) in _php_stream_getc()
804 if (php_stream_read(stream, &buf, 1) > 0) { in _php_stream_getc()
810 PHPAPI int _php_stream_puts(php_stream *stream, char *buf TSRMLS_DC) in _php_stream_puts() argument
816 if (len > 0 && php_stream_write(stream, buf, len) && php_stream_write(stream, newline, 1)) { in _php_stream_puts()
822 PHPAPI int _php_stream_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC) in _php_stream_stat() argument
827 if (stream->wrapper && stream->wrapper->wops->stream_stat != NULL) { in _php_stream_stat()
828 return stream->wrapper->wops->stream_stat(stream->wrapper, stream, ssb TSRMLS_CC); in _php_stream_stat()
835 if (stream->ops->stat == NULL) { in _php_stream_stat()
839 return (stream->ops->stat)(stream, ssb TSRMLS_CC); in _php_stream_stat()
842 PHPAPI char *php_stream_locate_eol(php_stream *stream, char *buf, size_t buf_len TSRMLS_DC) in php_stream_locate_eol() argument
849 readptr = stream->readbuf + stream->readpos; in php_stream_locate_eol()
850 avail = stream->writepos - stream->readpos; in php_stream_locate_eol()
857 if (stream->flags & PHP_STREAM_FLAG_DETECT_EOL) { in php_stream_locate_eol()
863 stream->flags ^= PHP_STREAM_FLAG_DETECT_EOL; in php_stream_locate_eol()
864 stream->flags |= PHP_STREAM_FLAG_EOL_MAC; in php_stream_locate_eol()
868 stream->flags ^= PHP_STREAM_FLAG_DETECT_EOL; in php_stream_locate_eol()
871 } else if (stream->flags & PHP_STREAM_FLAG_EOL_MAC) { in php_stream_locate_eol()
884 PHPAPI char *_php_stream_get_line(php_stream *stream, char *buf, size_t maxlen, in _php_stream_get_line() argument
913 avail = stream->writepos - stream->readpos; in _php_stream_get_line()
921 readptr = stream->readbuf + stream->readpos; in _php_stream_get_line()
922 eol = php_stream_locate_eol(stream, NULL, 0 TSRMLS_CC); in _php_stream_get_line()
951 stream->position += cpysz; in _php_stream_get_line()
952 stream->readpos += cpysz; in _php_stream_get_line()
960 } else if (stream->eof) { in _php_stream_get_line()
967 toread = stream->chunk_size; in _php_stream_get_line()
970 if (toread > stream->chunk_size) { in _php_stream_get_line()
971 toread = stream->chunk_size; in _php_stream_get_line()
975 php_stream_fill_read_buffer(stream, toread); in _php_stream_get_line()
977 if (stream->writepos - stream->readpos == 0) { in _php_stream_get_line()
998 #define STREAM_BUFFERED_AMOUNT(stream) \ argument
999 ((size_t)(((stream)->writepos) - (stream)->readpos))
1001 static char *_php_stream_search_delim(php_stream *stream, in _php_stream_search_delim() argument
1010 seek_len = MIN(STREAM_BUFFERED_AMOUNT(stream), maxlen); in _php_stream_search_delim()
1016 return memchr(&stream->readbuf[stream->readpos + skiplen], in _php_stream_search_delim()
1019 return php_memnstr((char*)&stream->readbuf[stream->readpos + skiplen], in _php_stream_search_delim()
1021 (char*)&stream->readbuf[stream->readpos + seek_len]); in _php_stream_search_delim()
1025 PHPAPI char *php_stream_get_record(php_stream *stream, size_t maxlen, size_t *returned_len, char *d… in php_stream_get_record() argument
1039 stream, maxlen, 0, delim, delim_len TSRMLS_CC); in php_stream_get_record()
1042 buffered_len = STREAM_BUFFERED_AMOUNT(stream); in php_stream_get_record()
1048 to_read_now = MIN(maxlen - buffered_len, stream->chunk_size); in php_stream_get_record()
1050 php_stream_fill_read_buffer(stream, buffered_len + to_read_now); in php_stream_get_record()
1052 just_read = STREAM_BUFFERED_AMOUNT(stream) - buffered_len; in php_stream_get_record()
1068 stream, maxlen, in php_stream_get_record()
1081 tent_ret_len = found_delim - (char*)&stream->readbuf[stream->readpos]; in php_stream_get_record()
1082 } else if (!has_delim && STREAM_BUFFERED_AMOUNT(stream) >= maxlen) { in php_stream_get_record()
1089 if (STREAM_BUFFERED_AMOUNT(stream) < maxlen && !stream->eof) { in php_stream_get_record()
1091 } else if (STREAM_BUFFERED_AMOUNT(stream) == 0 && stream->eof) { in php_stream_get_record()
1096 tent_ret_len = MIN(STREAM_BUFFERED_AMOUNT(stream), maxlen); in php_stream_get_record()
1103 *returned_len = php_stream_read(stream, ret_buf, tent_ret_len); in php_stream_get_record()
1106 stream->readpos += delim_len; in php_stream_get_record()
1107 stream->position += delim_len; in php_stream_get_record()
1114 static size_t _php_stream_write_buffer(php_stream *stream, const char *buf, size_t count TSRMLS_DC) in _php_stream_write_buffer() argument
1121 …if (stream->ops->seek && (stream->flags & PHP_STREAM_FLAG_NO_SEEK) == 0 && stream->readpos != stre… in _php_stream_write_buffer()
1122 stream->readpos = stream->writepos = 0; in _php_stream_write_buffer()
1124 stream->ops->seek(stream, stream->position, SEEK_SET, &stream->position TSRMLS_CC); in _php_stream_write_buffer()
1130 if (towrite > stream->chunk_size) in _php_stream_write_buffer()
1131 towrite = stream->chunk_size; in _php_stream_write_buffer()
1133 justwrote = stream->ops->write(stream, buf, towrite TSRMLS_CC); in _php_stream_write_buffer()
1143 if (stream->ops->seek && (stream->flags & PHP_STREAM_FLAG_NO_SEEK) == 0) { in _php_stream_write_buffer()
1144 stream->position += justwrote; in _php_stream_write_buffer()
1159 static size_t _php_stream_write_filtered(php_stream *stream, const char *buf, size_t count, int fla… in _php_stream_write_filtered() argument
1169 bucket = php_stream_bucket_new(stream, (char *)buf, count, 0, 0 TSRMLS_CC); in _php_stream_write_filtered()
1173 for (filter = stream->writefilters.head; filter; filter = filter->next) { in _php_stream_write_filtered()
1176 status = filter->fops->filter(stream, filter, brig_inp, brig_outp, in _php_stream_write_filtered()
1177 filter == stream->writefilters.head ? &consumed : NULL, flags TSRMLS_CC); in _php_stream_write_filtered()
1197 _php_stream_write_buffer(stream, bucket->buf, bucket->buflen TSRMLS_CC); in _php_stream_write_filtered()
1220 PHPAPI int _php_stream_flush(php_stream *stream, int closing TSRMLS_DC) in _php_stream_flush() argument
1224 if (stream->writefilters.head) { in _php_stream_flush()
1225 …_php_stream_write_filtered(stream, NULL, 0, closing ? PSFS_FLAG_FLUSH_CLOSE : PSFS_FLAG_FLUSH_INC … in _php_stream_flush()
1228 if (stream->ops->flush) { in _php_stream_flush()
1229 ret = stream->ops->flush(stream TSRMLS_CC); in _php_stream_flush()
1235 PHPAPI size_t _php_stream_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) in _php_stream_write() argument
1237 if (buf == NULL || count == 0 || stream->ops->write == NULL) { in _php_stream_write()
1241 if (stream->writefilters.head) { in _php_stream_write()
1242 return _php_stream_write_filtered(stream, buf, count, PSFS_FLAG_NORMAL TSRMLS_CC); in _php_stream_write()
1244 return _php_stream_write_buffer(stream, buf, count TSRMLS_CC); in _php_stream_write()
1248 PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...) in _php_stream_printf()
1262 count = php_stream_write(stream, buf, count); in _php_stream_printf()
1268 PHPAPI off_t _php_stream_tell(php_stream *stream TSRMLS_DC) in _php_stream_tell()
1270 return stream->position; in _php_stream_tell()
1273 PHPAPI int _php_stream_seek(php_stream *stream, off_t offset, int whence TSRMLS_DC) in _php_stream_seek() argument
1275 if (stream->fclose_stdiocast == PHP_STREAM_FCLOSE_FOPENCOOKIE) { in _php_stream_seek()
1277 fflush(stream->stdiocast); in _php_stream_seek()
1281 if ((stream->flags & PHP_STREAM_FLAG_NO_BUFFER) == 0) { in _php_stream_seek()
1284 if (offset > 0 && offset <= stream->writepos - stream->readpos) { in _php_stream_seek()
1285 stream->readpos += offset; /* if offset = ..., then readpos = writepos */ in _php_stream_seek()
1286 stream->position += offset; in _php_stream_seek()
1287 stream->eof = 0; in _php_stream_seek()
1292 if (offset > stream->position && in _php_stream_seek()
1293 offset <= stream->position + stream->writepos - stream->readpos) { in _php_stream_seek()
1294 stream->readpos += offset - stream->position; in _php_stream_seek()
1295 stream->position = offset; in _php_stream_seek()
1296 stream->eof = 0; in _php_stream_seek()
1304 if (stream->ops->seek && (stream->flags & PHP_STREAM_FLAG_NO_SEEK) == 0) { in _php_stream_seek()
1307 if (stream->writefilters.head) { in _php_stream_seek()
1308 _php_stream_flush(stream, 0 TSRMLS_CC); in _php_stream_seek()
1313 offset = stream->position + offset; in _php_stream_seek()
1317 ret = stream->ops->seek(stream, offset, whence, &stream->position TSRMLS_CC); in _php_stream_seek()
1319 if (((stream->flags & PHP_STREAM_FLAG_NO_SEEK) == 0) || ret == 0) { in _php_stream_seek()
1321 stream->eof = 0; in _php_stream_seek()
1325 stream->readpos = stream->writepos = 0; in _php_stream_seek()
1338 if ((didread = php_stream_read(stream, tmp, MIN(offset, sizeof(tmp)))) == 0) { in _php_stream_seek()
1343 stream->eof = 0; in _php_stream_seek()
1352 PHPAPI int _php_stream_set_option(php_stream *stream, int option, int value, void *ptrparam TSRMLS_… in _php_stream_set_option() argument
1356 if (stream->ops->set_option) { in _php_stream_set_option()
1357 ret = stream->ops->set_option(stream, option, value, ptrparam TSRMLS_CC); in _php_stream_set_option()
1363 ret = stream->chunk_size; in _php_stream_set_option()
1364 stream->chunk_size = value; in _php_stream_set_option()
1370 stream->flags |= PHP_STREAM_FLAG_NO_BUFFER; in _php_stream_set_option()
1371 } else if (stream->flags & PHP_STREAM_FLAG_NO_BUFFER) { in _php_stream_set_option()
1372 stream->flags ^= PHP_STREAM_FLAG_NO_BUFFER; in _php_stream_set_option()
1385 PHPAPI int _php_stream_truncate_set_size(php_stream *stream, size_t newsize TSRMLS_DC) in _php_stream_truncate_set_size() argument
1387 …return php_stream_set_option(stream, PHP_STREAM_OPTION_TRUNCATE_API, PHP_STREAM_TRUNCATE_SET_SIZE,… in _php_stream_truncate_set_size()
1390 PHPAPI size_t _php_stream_passthru(php_stream * stream STREAMS_DC TSRMLS_DC) in _php_stream_passthru()
1396 if (php_stream_mmap_possible(stream)) { in _php_stream_passthru()
1400 …p = php_stream_mmap_range(stream, php_stream_tell(stream), PHP_STREAM_MMAP_ALL, PHP_STREAM_MAP_MOD… in _php_stream_passthru()
1410 php_stream_mmap_unmap_ex(stream, mapped); in _php_stream_passthru()
1416 while ((b = php_stream_read(stream, buf, sizeof(buf))) > 0) { in _php_stream_passthru()
1618 php_stream *stream = (php_stream*)rsrc->ptr; in stream_resource_regular_dtor() local
1620 FG(pclose_ret) = php_stream_free(stream, PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_RSRC_DTOR); in stream_resource_regular_dtor()
1625 php_stream *stream = (php_stream*)rsrc->ptr; in stream_resource_persistent_dtor() local
1626 FG(pclose_ret) = php_stream_free(stream, PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_RSRC_DTOR); in stream_resource_persistent_dtor()
1973 php_stream *stream = NULL; local
1986 stream = wrapper->wops->dir_opener(wrapper,
1990 if (stream) {
1991 stream->wrapper = wrapper;
1992 stream->flags |= PHP_STREAM_FLAG_NO_BUFFER | PHP_STREAM_FLAG_IS_DIR;
1997 if (stream == NULL && (options & REPORT_ERRORS)) {
2002 return stream;
2022 php_stream *stream = NULL; local
2064 stream = wrapper->wops->stream_opener(wrapper,
2071 if (stream && (options & STREAM_OPEN_PERSISTENT) && !stream->is_persistent) {
2074 php_stream_close(stream);
2075 stream = NULL;
2078 if (stream) {
2079 stream->wrapper = wrapper;
2083 if (stream) {
2088 if (stream->orig_path) {
2089 pefree(stream->orig_path, persistent);
2092 stream->orig_path = copy_of_path;
2094 stream->open_filename = __zend_orig_filename ? __zend_orig_filename : __zend_filename;
2095 stream->open_lineno = __zend_orig_lineno ? __zend_orig_lineno : __zend_lineno;
2099 if (stream != NULL && (options & STREAM_MUST_SEEK)) {
2102 switch(php_stream_make_seekable_rel(stream, &newstream,
2109 return stream;
2120 php_stream_close(stream);
2121 stream = NULL;
2134 …if (stream && stream->ops->seek && (stream->flags & PHP_STREAM_FLAG_NO_SEEK) == 0 && strchr(mode, …
2138 if (0 == stream->ops->seek(stream, 0, SEEK_CUR, &newpos TSRMLS_CC)) {
2139 stream->position = newpos;
2143 if (stream == NULL && (options & REPORT_ERRORS)) {
2152 if (stream == NULL && copy_of_path != NULL) {
2159 return stream;
2164 PHPAPI php_stream_context *php_stream_context_set(php_stream *stream, php_stream_context *context) argument
2166 php_stream_context *oldcontext = stream->context;
2169 stream->context = context;
2283 php_stream *stream; local
2293 stream = php_stream_opendir(dirname, REPORT_ERRORS, context);
2294 if (!stream) {
2298 while (php_stream_readdir(stream, &sdp)) {
2305 php_stream_closedir(stream);
2319 php_stream_closedir(stream);
2324 php_stream_closedir(stream);