Lines Matching refs:intern

63 	zend_object_iterator  intern;  member
74 zend_iterator_init(&it->intern); in spl_filesystem_object_to_iterator()
89 #define CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern) \ argument
90 if (!(intern)->u.dir.dirp) { \
95 static void spl_filesystem_file_free_line(spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_file_free_line() argument
97 if (intern->u.file.current_line) { in spl_filesystem_file_free_line()
98 efree(intern->u.file.current_line); in spl_filesystem_file_free_line()
99 intern->u.file.current_line = NULL; in spl_filesystem_file_free_line()
101 if (!Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_free_line()
102 zval_ptr_dtor(&intern->u.file.current_zval); in spl_filesystem_file_free_line()
103 ZVAL_UNDEF(&intern->u.file.current_zval); in spl_filesystem_file_free_line()
109 spl_filesystem_object *intern = spl_filesystem_from_obj(object); in spl_filesystem_object_destroy_object() local
113 switch(intern->type) { in spl_filesystem_object_destroy_object()
115 if (intern->u.dir.dirp) { in spl_filesystem_object_destroy_object()
116 php_stream_close(intern->u.dir.dirp); in spl_filesystem_object_destroy_object()
117 intern->u.dir.dirp = NULL; in spl_filesystem_object_destroy_object()
121 if (intern->u.file.stream) { in spl_filesystem_object_destroy_object()
127 if (!intern->u.file.stream->is_persistent) { in spl_filesystem_object_destroy_object()
128 php_stream_close(intern->u.file.stream); in spl_filesystem_object_destroy_object()
130 php_stream_pclose(intern->u.file.stream); in spl_filesystem_object_destroy_object()
132 intern->u.file.stream = NULL; in spl_filesystem_object_destroy_object()
133 ZVAL_UNDEF(&intern->u.file.zresource); in spl_filesystem_object_destroy_object()
143 spl_filesystem_object *intern = spl_filesystem_from_obj(object); in spl_filesystem_object_free_storage() local
145 if (intern->oth_handler && intern->oth_handler->dtor) { in spl_filesystem_object_free_storage()
146 intern->oth_handler->dtor(intern); in spl_filesystem_object_free_storage()
149 zend_object_std_dtor(&intern->std); in spl_filesystem_object_free_storage()
151 if (intern->path) { in spl_filesystem_object_free_storage()
152 zend_string_release(intern->path); in spl_filesystem_object_free_storage()
154 if (intern->file_name) { in spl_filesystem_object_free_storage()
155 zend_string_release(intern->file_name); in spl_filesystem_object_free_storage()
157 switch(intern->type) { in spl_filesystem_object_free_storage()
161 if (intern->u.dir.sub_path) { in spl_filesystem_object_free_storage()
162 zend_string_release(intern->u.dir.sub_path); in spl_filesystem_object_free_storage()
166 if (intern->u.file.open_mode) { in spl_filesystem_object_free_storage()
167 zend_string_release(intern->u.file.open_mode); in spl_filesystem_object_free_storage()
169 if (intern->orig_path) { in spl_filesystem_object_free_storage()
170 zend_string_release(intern->orig_path); in spl_filesystem_object_free_storage()
172 spl_filesystem_file_free_line(intern); in spl_filesystem_object_free_storage()
190 spl_filesystem_object *intern; in spl_filesystem_object_new_ex() local
192 intern = emalloc(sizeof(spl_filesystem_object) + zend_object_properties_size(class_type)); in spl_filesystem_object_new_ex()
193 memset(intern, 0, in spl_filesystem_object_new_ex()
197 intern->file_class = spl_ce_SplFileObject; in spl_filesystem_object_new_ex()
198 intern->info_class = spl_ce_SplFileInfo; in spl_filesystem_object_new_ex()
200 zend_object_std_init(&intern->std, class_type); in spl_filesystem_object_new_ex()
201 object_properties_init(&intern->std, class_type); in spl_filesystem_object_new_ex()
203 return &intern->std; in spl_filesystem_object_new_ex()
215 PHPAPI zend_string *spl_filesystem_object_get_path(spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_object_get_path() argument
218 if (intern->type == SPL_FS_DIR && php_stream_is(intern->u.dir.dirp, &php_glob_stream_ops)) { in spl_filesystem_object_get_path()
220 char *tmp = php_glob_stream_get_path(intern->u.dir.dirp, &len); in spl_filesystem_object_get_path()
227 if (!intern->path) { in spl_filesystem_object_get_path()
230 return zend_string_copy(intern->path); in spl_filesystem_object_get_path()
233 static inline zend_result spl_filesystem_object_get_file_name(spl_filesystem_object *intern) /* {{{… in spl_filesystem_object_get_file_name() argument
235 if (intern->file_name) { in spl_filesystem_object_get_file_name()
240 switch (intern->type) { in spl_filesystem_object_get_file_name()
248 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in spl_filesystem_object_get_file_name()
250 path = spl_filesystem_object_get_path(intern); in spl_filesystem_object_get_file_name()
252 name_len = strlen(intern->u.dir.entry.d_name); in spl_filesystem_object_get_file_name()
254 intern->file_name = zend_string_init(intern->u.dir.entry.d_name, name_len, 0); in spl_filesystem_object_get_file_name()
259 intern->file_name = zend_string_concat3( in spl_filesystem_object_get_file_name()
260 ZSTR_VAL(path), ZSTR_LEN(path), &slash, 1, intern->u.dir.entry.d_name, name_len); in spl_filesystem_object_get_file_name()
269 static bool spl_filesystem_dir_read(spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_dir_read() argument
271 if (intern->file_name) { in spl_filesystem_dir_read()
273 zend_string_release(intern->file_name); in spl_filesystem_dir_read()
274 intern->file_name = NULL; in spl_filesystem_dir_read()
276 if (!intern->u.dir.dirp || !php_stream_readdir(intern->u.dir.dirp, &intern->u.dir.entry)) { in spl_filesystem_dir_read()
277 intern->u.dir.entry.d_name[0] = '\0'; in spl_filesystem_dir_read()
296 static void spl_filesystem_dir_open(spl_filesystem_object* intern, zend_string *path) in spl_filesystem_dir_open() argument
298 bool skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in spl_filesystem_dir_open()
300 intern->type = SPL_FS_DIR; in spl_filesystem_dir_open()
301 intern->u.dir.dirp = php_stream_opendir(ZSTR_VAL(path), REPORT_ERRORS, FG(default_context)); in spl_filesystem_dir_open()
304 intern->path = zend_string_init(ZSTR_VAL(path), ZSTR_LEN(path)-1, 0); in spl_filesystem_dir_open()
306 intern->path = zend_string_copy(path); in spl_filesystem_dir_open()
308 intern->u.dir.index = 0; in spl_filesystem_dir_open()
310 if (EG(exception) || intern->u.dir.dirp == NULL) { in spl_filesystem_dir_open()
311 intern->u.dir.entry.d_name[0] = '\0'; in spl_filesystem_dir_open()
319 spl_filesystem_dir_read(intern); in spl_filesystem_dir_open()
320 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in spl_filesystem_dir_open()
327 static zend_result spl_filesystem_file_open(spl_filesystem_object *intern, bool use_include_path) /… in spl_filesystem_file_open() argument
331 intern->type = SPL_FS_FILE; in spl_filesystem_file_open()
332 php_stat(intern->file_name, FS_IS_DIR, &tmp); in spl_filesystem_file_open()
334 zend_string_release(intern->u.file.open_mode); in spl_filesystem_file_open()
335 intern->u.file.open_mode = NULL; in spl_filesystem_file_open()
336 intern->file_name = NULL; in spl_filesystem_file_open()
341 intern->u.file.context = php_stream_context_from_zval(intern->u.file.zcontext, 0); in spl_filesystem_file_open()
342intern->u.file.stream = php_stream_open_wrapper_ex(ZSTR_VAL(intern->file_name), ZSTR_VAL(intern->u… in spl_filesystem_file_open()
344 if (!ZSTR_LEN(intern->file_name) || !intern->u.file.stream) { in spl_filesystem_file_open()
346 …zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Cannot open file '%s'", ZSTR_VAL(intern->file… in spl_filesystem_file_open()
348 zend_string_release(intern->u.file.open_mode); in spl_filesystem_file_open()
349 intern->u.file.open_mode = NULL; in spl_filesystem_file_open()
350 intern->file_name = NULL; /* until here it is not a copy */ in spl_filesystem_file_open()
355 intern->u.file.stream->flags |= PHP_STREAM_FLAG_NO_FCLOSE; in spl_filesystem_file_open()
364 …if (ZSTR_LEN(intern->file_name) > 1 && IS_SLASH_AT(ZSTR_VAL(intern->file_name), ZSTR_LEN(intern->f… in spl_filesystem_file_open()
365intern->file_name = zend_string_init(ZSTR_VAL(intern->file_name), ZSTR_LEN(intern->file_name)-1, 0… in spl_filesystem_file_open()
367 intern->file_name = zend_string_copy(intern->file_name); in spl_filesystem_file_open()
370intern->orig_path = zend_string_init(intern->u.file.stream->orig_path, strlen(intern->u.file.strea… in spl_filesystem_file_open()
373 ZVAL_RES(&intern->u.file.zresource, intern->u.file.stream->res); in spl_filesystem_file_open()
378 intern->u.file.delimiter = ','; in spl_filesystem_file_open()
379 intern->u.file.enclosure = '"'; in spl_filesystem_file_open()
380 intern->u.file.escape = (unsigned char) '\\'; in spl_filesystem_file_open()
382intern->u.file.func_getCurr = zend_hash_str_find_ptr(&intern->std.ce->function_table, "getcurrentl… in spl_filesystem_file_open()
397 spl_filesystem_object *intern; in spl_filesystem_object_clone() local
402 intern = spl_filesystem_from_obj(new_object); in spl_filesystem_object_clone()
404 intern->flags = source->flags; in spl_filesystem_object_clone()
409 intern->path = zend_string_copy(source->path); in spl_filesystem_object_clone()
412 intern->file_name = zend_string_copy(source->file_name); in spl_filesystem_object_clone()
416 spl_filesystem_dir_open(intern, source->path); in spl_filesystem_object_clone()
422 spl_filesystem_dir_read(intern); in spl_filesystem_object_clone()
423 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in spl_filesystem_object_clone()
425 intern->u.dir.index = index; in spl_filesystem_object_clone()
432 intern->file_class = source->file_class; in spl_filesystem_object_clone()
433 intern->info_class = source->info_class; in spl_filesystem_object_clone()
434 intern->oth = source->oth; in spl_filesystem_object_clone()
435 intern->oth_handler = source->oth_handler; in spl_filesystem_object_clone()
439 if (intern->oth_handler && intern->oth_handler->clone) { in spl_filesystem_object_clone()
440 intern->oth_handler->clone(source, intern); in spl_filesystem_object_clone()
447 static void spl_filesystem_info_set_filename(spl_filesystem_object *intern, zend_string *path) /* {… in spl_filesystem_info_set_filename() argument
451 if (intern->file_name) { in spl_filesystem_info_set_filename()
452 zend_string_release(intern->file_name); in spl_filesystem_info_set_filename()
460 intern->file_name = zend_string_init(ZSTR_VAL(path), path_len, 0); in spl_filesystem_info_set_filename()
462 intern->file_name = zend_string_copy(path); in spl_filesystem_info_set_filename()
471 if (intern->path) { in spl_filesystem_info_set_filename()
472 zend_string_release(intern->path); in spl_filesystem_info_set_filename()
474 intern->path = zend_string_init(ZSTR_VAL(path), path_len, 0); in spl_filesystem_info_set_filename()
479 spl_filesystem_object *intern; in spl_filesystem_object_create_info() local
491 intern = spl_filesystem_from_obj(spl_filesystem_object_new_ex(ce)); in spl_filesystem_object_create_info()
492 RETVAL_OBJ(&intern->std); in spl_filesystem_object_create_info()
499 spl_filesystem_info_set_filename(intern, file_path); in spl_filesystem_object_create_info()
502 return intern; in spl_filesystem_object_create_info()
507 spl_filesystem_object *intern; in spl_filesystem_object_create_type() local
527 intern = spl_filesystem_from_obj(spl_filesystem_object_new_ex(ce)); in spl_filesystem_object_create_type()
528 RETVAL_OBJ(&intern->std); in spl_filesystem_object_create_type()
539 intern->file_name = zend_string_copy(source->file_name); in spl_filesystem_object_create_type()
540 intern->path = spl_filesystem_object_get_path(source); in spl_filesystem_object_create_type()
556 intern = spl_filesystem_from_obj(spl_filesystem_object_new_ex(ce)); in spl_filesystem_object_create_type()
557 RETVAL_OBJ(&intern->std); in spl_filesystem_object_create_type()
570 intern->file_name = source->file_name; in spl_filesystem_object_create_type()
571 intern->path = spl_filesystem_object_get_path(source); in spl_filesystem_object_create_type()
572 intern->u.file.open_mode = zend_string_copy(open_mode); in spl_filesystem_object_create_type()
573 intern->u.file.zcontext = resource; in spl_filesystem_object_create_type()
577 if (spl_filesystem_file_open(intern, use_include_path) == FAILURE) { in spl_filesystem_object_create_type()
600 static zend_string *spl_filesystem_object_get_pathname(spl_filesystem_object *intern) { /* {{{ */ in spl_filesystem_object_get_pathname() argument
601 switch (intern->type) { in spl_filesystem_object_get_pathname()
604 return intern->file_name; in spl_filesystem_object_get_pathname()
606 if (intern->u.dir.entry.d_name[0]) { in spl_filesystem_object_get_pathname()
607 spl_filesystem_object_get_file_name(intern); in spl_filesystem_object_get_pathname()
608 return intern->file_name; in spl_filesystem_object_get_pathname()
617 spl_filesystem_object *intern = spl_filesystem_from_obj(object); in spl_filesystem_object_get_debug_info() local
624 if (!intern->std.properties) { in spl_filesystem_object_get_debug_info()
625 rebuild_object_properties(&intern->std); in spl_filesystem_object_get_debug_info()
628 rv = zend_array_dup(intern->std.properties); in spl_filesystem_object_get_debug_info()
631 path = spl_filesystem_object_get_pathname(intern); in spl_filesystem_object_get_debug_info()
640 if (intern->file_name) { in spl_filesystem_object_get_debug_info()
644 path = spl_filesystem_object_get_path(intern); in spl_filesystem_object_get_debug_info()
646 if (path && ZSTR_LEN(path) && ZSTR_LEN(path) < ZSTR_LEN(intern->file_name)) { in spl_filesystem_object_get_debug_info()
648 …ZVAL_STRINGL(&tmp, ZSTR_VAL(intern->file_name) + ZSTR_LEN(path) + 1, ZSTR_LEN(intern->file_name) -… in spl_filesystem_object_get_debug_info()
650 ZVAL_STR_COPY(&tmp, intern->file_name); in spl_filesystem_object_get_debug_info()
658 if (intern->type == SPL_FS_DIR) { in spl_filesystem_object_get_debug_info()
661 if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in spl_filesystem_object_get_debug_info()
662 ZVAL_STR_COPY(&tmp, intern->path); in spl_filesystem_object_get_debug_info()
670 if (intern->u.dir.sub_path) { in spl_filesystem_object_get_debug_info()
671 ZVAL_STR_COPY(&tmp, intern->u.dir.sub_path); in spl_filesystem_object_get_debug_info()
678 if (intern->type == SPL_FS_FILE) { in spl_filesystem_object_get_debug_info()
680 ZVAL_STR_COPY(&tmp, intern->u.file.open_mode); in spl_filesystem_object_get_debug_info()
684 stmp[0] = intern->u.file.delimiter; in spl_filesystem_object_get_debug_info()
689 stmp[0] = intern->u.file.enclosure; in spl_filesystem_object_get_debug_info()
718 spl_filesystem_object *intern; in spl_filesystem_object_construct() local
740 intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in spl_filesystem_object_construct()
741 if (intern->path) { in spl_filesystem_object_construct()
746 intern->flags = flags; in spl_filesystem_object_construct()
753 spl_filesystem_dir_open(intern, path); in spl_filesystem_object_construct()
758 spl_filesystem_dir_open(intern, path); in spl_filesystem_object_construct()
775 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
781 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
782 intern->u.dir.index = 0; in PHP_METHOD()
783 php_stream_rewinddir(intern->u.dir.dirp); in PHP_METHOD()
784 spl_filesystem_dir_read(intern); in PHP_METHOD()
791 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
797 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
798 RETURN_LONG(intern->u.dir.index); in PHP_METHOD()
817 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
818 bool skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in PHP_METHOD()
824 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
825 intern->u.dir.index++; in PHP_METHOD()
827 spl_filesystem_dir_read(intern); in PHP_METHOD()
828 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in PHP_METHOD()
829 if (intern->file_name) { in PHP_METHOD()
830 zend_string_release(intern->file_name); in PHP_METHOD()
831 intern->file_name = NULL; in PHP_METHOD()
839 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
847 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
848 if (intern->u.dir.index > pos) { in PHP_METHOD()
850 …zend_call_method_with_0_params(Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), &intern->u.dir.func_rewin… in PHP_METHOD()
853 while (intern->u.dir.index < pos) { in PHP_METHOD()
855 …zend_call_method_with_0_params(Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), &intern->u.dir.func_valid… in PHP_METHOD()
862 …zend_call_method_with_0_params(Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), &intern->u.dir.func_next,… in PHP_METHOD()
869 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
875 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
876 RETURN_BOOL(intern->u.dir.entry.d_name[0] != '\0'); in PHP_METHOD()
883 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
890 path = spl_filesystem_object_get_path(intern); in PHP_METHOD()
902 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
909 if (!intern->file_name) { in PHP_METHOD()
914 path = spl_filesystem_object_get_path(intern); in PHP_METHOD()
916 if (path && ZSTR_LEN(path) && ZSTR_LEN(path) < ZSTR_LEN(intern->file_name)) { in PHP_METHOD()
919 RETVAL_STRINGL(ZSTR_VAL(intern->file_name) + path_len, ZSTR_LEN(intern->file_name) - path_len); in PHP_METHOD()
921 RETVAL_STR_COPY(intern->file_name); in PHP_METHOD()
932 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
938 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
939 RETURN_STRING(intern->u.dir.entry.d_name); in PHP_METHOD()
946 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
958 if (!intern->file_name) { in PHP_METHOD()
963 path = spl_filesystem_object_get_path(intern); in PHP_METHOD()
965 if (path && ZSTR_LEN(path) && ZSTR_LEN(path) < ZSTR_LEN(intern->file_name)) { in PHP_METHOD()
966 fname = ZSTR_VAL(intern->file_name) + ZSTR_LEN(path) + 1; in PHP_METHOD()
967 flen = ZSTR_LEN(intern->file_name) - (ZSTR_LEN(path) + 1); in PHP_METHOD()
969 fname = ZSTR_VAL(intern->file_name); in PHP_METHOD()
970 flen = ZSTR_LEN(intern->file_name); in PHP_METHOD()
994 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1003 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
1004 fname = php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), NULL, 0); in PHP_METHOD()
1021 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1031 if (!intern->file_name) { in PHP_METHOD()
1036 path = spl_filesystem_object_get_path(intern); in PHP_METHOD()
1038 if (path && ZSTR_LEN(path) && ZSTR_LEN(path) < ZSTR_LEN(intern->file_name)) { in PHP_METHOD()
1040 fname = ZSTR_VAL(intern->file_name) + ZSTR_LEN(path) + 1; in PHP_METHOD()
1041 flen = ZSTR_LEN(intern->file_name) - (ZSTR_LEN(path) + 1); in PHP_METHOD()
1043 fname = ZSTR_VAL(intern->file_name); in PHP_METHOD()
1044 flen = ZSTR_LEN(intern->file_name); in PHP_METHOD()
1057 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1066 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
1067 fname = php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), suffix, slen); in PHP_METHOD()
1076 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1082 path = spl_filesystem_object_get_pathname(intern); in PHP_METHOD()
1094 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1100 if (SPL_FILE_DIR_KEY(intern, SPL_FILE_DIR_KEY_AS_FILENAME)) { in PHP_METHOD()
1101 RETURN_STRING(intern->u.dir.entry.d_name); in PHP_METHOD()
1103 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in PHP_METHOD()
1106 RETURN_STR_COPY(intern->file_name); in PHP_METHOD()
1114 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1120 if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_PATHNAME)) { in PHP_METHOD()
1121 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in PHP_METHOD()
1124 RETURN_STR_COPY(intern->file_name); in PHP_METHOD()
1125 } else if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_FILEINFO)) { in PHP_METHOD()
1126 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in PHP_METHOD()
1129 spl_filesystem_object_create_type(0, intern, SPL_FS_INFO, NULL, return_value); in PHP_METHOD()
1139 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1145 CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern); in PHP_METHOD()
1146 RETURN_BOOL(spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in PHP_METHOD()
1156 spl_filesystem_object *intern; in PHP_METHOD() local
1163 intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD()
1165 spl_filesystem_info_set_filename(intern, path); in PHP_METHOD()
1175 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); \
1180 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { \
1184 php_stat(intern->file_name, func_num, return_value); \
1252 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in FileInfoFunction() local
1260 if (intern->file_name == NULL) { in FileInfoFunction()
1261 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in FileInfoFunction()
1266 if (intern->file_name == NULL) { in FileInfoFunction()
1270 if (!IS_ABSOLUTE_PATH(ZSTR_VAL(intern->file_name), ZSTR_LEN(intern->file_name))) { in FileInfoFunction()
1272 …if (!expand_filepath_with_mode(ZSTR_VAL(intern->file_name), expanded_path, NULL, 0, CWD_EXPAND )) { in FileInfoFunction()
1278 ret = php_sys_readlink(ZSTR_VAL(intern->file_name), buff, MAXPATHLEN-1); in FileInfoFunction()
1285 …pl_ce_RuntimeException, 0, "Unable to read link %s, error: %s", ZSTR_VAL(intern->file_name), strer… in FileInfoFunction()
1299 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1307 if (intern->type == SPL_FS_DIR && !intern->file_name && intern->u.dir.entry.d_name[0]) { in PHP_METHOD()
1308 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in PHP_METHOD()
1313 if (intern->orig_path) { in PHP_METHOD()
1314 filename = ZSTR_VAL(intern->orig_path); in PHP_METHOD()
1316 filename = intern->file_name ? ZSTR_VAL(intern->file_name) : NULL; in PHP_METHOD()
1336 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1338 spl_filesystem_object_create_type(ZEND_NUM_ARGS(), intern, SPL_FS_FILE, NULL, return_value); in PHP_METHOD()
1345 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1352 intern->file_class = ce; in PHP_METHOD()
1359 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1366 intern->info_class = ce; in PHP_METHOD()
1373 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1374 zend_class_entry *ce = intern->info_class; in PHP_METHOD()
1380 spl_filesystem_object_create_type(ZEND_NUM_ARGS(), intern, SPL_FS_INFO, ce, return_value); in PHP_METHOD()
1387 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1388 zend_class_entry *ce = intern->info_class; in PHP_METHOD()
1395 path = spl_filesystem_object_get_pathname(intern); in PHP_METHOD()
1399 spl_filesystem_object_create_info(intern, dpath, ce, return_value); in PHP_METHOD()
1436 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1437 bool skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in PHP_METHOD()
1443 intern->u.dir.index = 0; in PHP_METHOD()
1444 if (intern->u.dir.dirp) { in PHP_METHOD()
1445 php_stream_rewinddir(intern->u.dir.dirp); in PHP_METHOD()
1448 spl_filesystem_dir_read(intern); in PHP_METHOD()
1449 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in PHP_METHOD()
1456 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1462 …RETURN_LONG(intern->flags & (SPL_FILE_DIR_KEY_MODE_MASK | SPL_FILE_DIR_CURRENT_MODE_MASK | SPL_FIL… in PHP_METHOD()
1468 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1475intern->flags &= ~(SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_M… in PHP_METHOD()
1476intern->flags |= ((SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_M… in PHP_METHOD()
1483 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1490 if (spl_filesystem_is_invalid_or_dot(intern->u.dir.entry.d_name)) { in PHP_METHOD()
1493 if (intern->u.dir.entry.d_type == DT_DIR) { in PHP_METHOD()
1495 } else if (intern->u.dir.entry.d_type == DT_REG) { in PHP_METHOD()
1498 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in PHP_METHOD()
1501 php_stat(intern->file_name, FS_LPERMS, return_value); in PHP_METHOD()
1508 && !(intern->flags & SPL_FILE_DIR_FOLLOW_SYMLINKS)) { in PHP_METHOD()
1511 php_stat(intern->file_name, FS_IS_DIR, return_value); in PHP_METHOD()
1521 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1523 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in PHP_METHOD()
1529 if (spl_filesystem_object_get_file_name(intern) == FAILURE) { in PHP_METHOD()
1533 ZVAL_LONG(&zflags, intern->flags); in PHP_METHOD()
1534 ZVAL_STR_COPY(&zpath, intern->file_name); in PHP_METHOD()
1540 size_t name_len = strlen(intern->u.dir.entry.d_name); in PHP_METHOD()
1541 if (intern->u.dir.sub_path && ZSTR_LEN(intern->u.dir.sub_path)) { in PHP_METHOD()
1542 zend_string *sub_path = zend_string_alloc(ZSTR_LEN(intern->u.dir.sub_path) + 1 + name_len, 0); in PHP_METHOD()
1543 memcpy(ZSTR_VAL(sub_path), ZSTR_VAL(intern->u.dir.sub_path), ZSTR_LEN(intern->u.dir.sub_path)); in PHP_METHOD()
1544 ZSTR_VAL(sub_path)[ZSTR_LEN(intern->u.dir.sub_path)] = slash; in PHP_METHOD()
1545 …memcpy(ZSTR_VAL(sub_path) + ZSTR_LEN(intern->u.dir.sub_path) + 1, intern->u.dir.entry.d_name, name… in PHP_METHOD()
1546 ZSTR_VAL(sub_path)[ZSTR_LEN(intern->u.dir.sub_path) + 1 + name_len] = 0; in PHP_METHOD()
1549 subdir->u.dir.sub_path = zend_string_init(intern->u.dir.entry.d_name, name_len, 0); in PHP_METHOD()
1551 subdir->info_class = intern->info_class; in PHP_METHOD()
1552 subdir->file_class = intern->file_class; in PHP_METHOD()
1553 subdir->oth = intern->oth; in PHP_METHOD()
1561 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1567 if (intern->u.dir.sub_path) { in PHP_METHOD()
1568 RETURN_STR_COPY(intern->u.dir.sub_path); in PHP_METHOD()
1578 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1579 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in PHP_METHOD()
1585 if (intern->u.dir.sub_path) { in PHP_METHOD()
1586 …RETURN_NEW_STR(strpprintf(0, "%s%c%s", ZSTR_VAL(intern->u.dir.sub_path), slash, intern->u.dir.entr… in PHP_METHOD()
1588 RETURN_STRING(intern->u.dir.entry.d_name); in PHP_METHOD()
1611 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
1617 if (intern->u.dir.dirp && php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in PHP_METHOD()
1618 RETURN_LONG(php_glob_stream_get_count(intern->u.dir.dirp, NULL)); in PHP_METHOD()
1661 ZVAL_OBJ_COPY(&iterator->intern.data, Z_OBJ_P(object)); in spl_filesystem_dir_get_iterator()
1662 iterator->intern.funcs = &spl_filesystem_dir_it_funcs; in spl_filesystem_dir_get_iterator()
1667 return &iterator->intern; in spl_filesystem_dir_get_iterator()
1675 zval_ptr_dtor(&iterator->intern.data); in spl_filesystem_dir_it_dtor()
1737 zval_ptr_dtor(&iterator->intern.data); in spl_filesystem_tree_it_dtor()
1765 return &iterator->intern.data; in spl_filesystem_tree_it_current_data()
1855 ZVAL_OBJ_COPY(&iterator->intern.data, Z_OBJ_P(object)); in spl_filesystem_tree_get_iterator()
1856 iterator->intern.funcs = &spl_filesystem_tree_it_funcs; in spl_filesystem_tree_get_iterator()
1858 return &iterator->intern; in spl_filesystem_tree_get_iterator()
1862 static zend_result spl_filesystem_file_read_ex(spl_filesystem_object *intern, bool silent, zend_lon… in spl_filesystem_file_read_ex() argument
1867 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_ex()
1869 if (php_stream_eof(intern->u.file.stream)) { in spl_filesystem_file_read_ex()
1871 …zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Cannot read from file %s", ZSTR_VAL(intern->f… in spl_filesystem_file_read_ex()
1876 if (intern->u.file.max_line_len > 0) { in spl_filesystem_file_read_ex()
1877 buf = safe_emalloc((intern->u.file.max_line_len + 1), sizeof(char), 0); in spl_filesystem_file_read_ex()
1878 …if (php_stream_get_line(intern->u.file.stream, buf, intern->u.file.max_line_len + 1, &line_len) ==… in spl_filesystem_file_read_ex()
1885 buf = php_stream_get_line(intern->u.file.stream, NULL, 0, &line_len); in spl_filesystem_file_read_ex()
1889 intern->u.file.current_line = estrdup(""); in spl_filesystem_file_read_ex()
1890 intern->u.file.current_line_len = 0; in spl_filesystem_file_read_ex()
1892 if (!csv && SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_DROP_NEW_LINE)) { in spl_filesystem_file_read_ex()
1902 intern->u.file.current_line = buf; in spl_filesystem_file_read_ex()
1903 intern->u.file.current_line_len = line_len; in spl_filesystem_file_read_ex()
1905 intern->u.file.current_line_num += line_add; in spl_filesystem_file_read_ex()
1910 static inline zend_result spl_filesystem_file_read(spl_filesystem_object *intern, bool silent, bool… in spl_filesystem_file_read() argument
1912 zend_long line_add = (intern->u.file.current_line) ? 1 : 0; in spl_filesystem_file_read()
1913 return spl_filesystem_file_read_ex(intern, silent, line_add, csv); in spl_filesystem_file_read()
1916 static bool is_line_empty(spl_filesystem_object *intern) in is_line_empty() argument
1918 char *current_line = intern->u.file.current_line; in is_line_empty()
1919 size_t current_line_len = intern->u.file.current_line_len; in is_line_empty()
1921 …|| ((SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) && SPL_HAS_FLAG(intern->flags, SPL_FILE… in is_line_empty()
1926 static zend_result spl_filesystem_file_read_csv(spl_filesystem_object *intern, char delimiter, char… in spl_filesystem_file_read_csv() argument
1929 zend_result ret = spl_filesystem_file_read(intern, /* silent */ true, /* csv */ true); in spl_filesystem_file_read_csv()
1933 } while (is_line_empty(intern) && SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_SKIP_EMPTY)); in spl_filesystem_file_read_csv()
1935 size_t buf_len = intern->u.file.current_line_len; in spl_filesystem_file_read_csv()
1936 char *buf = estrndup(intern->u.file.current_line, buf_len); in spl_filesystem_file_read_csv()
1938 if (!Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_read_csv()
1939 zval_ptr_dtor(&intern->u.file.current_zval); in spl_filesystem_file_read_csv()
1940 ZVAL_UNDEF(&intern->u.file.current_zval); in spl_filesystem_file_read_csv()
1943 HashTable *values = php_fgetcsv(intern->u.file.stream, delimiter, enclosure, escape, buf_len, buf); in spl_filesystem_file_read_csv()
1947 ZVAL_ARR(&intern->u.file.current_zval, values); in spl_filesystem_file_read_csv()
1949 ZVAL_COPY(return_value, &intern->u.file.current_zval); in spl_filesystem_file_read_csv()
1956 static zend_result spl_filesystem_file_read_line_ex(zval * this_ptr, spl_filesystem_object *intern)… in spl_filesystem_file_read_line_ex() argument
1961 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV)) { in spl_filesystem_file_read_line_ex()
1962 …return spl_filesystem_file_read_csv(intern, intern->u.file.delimiter, intern->u.file.enclosure, in… in spl_filesystem_file_read_line_ex()
1964 if (intern->u.file.func_getCurr->common.scope != spl_ce_SplFileObject) { in spl_filesystem_file_read_line_ex()
1965 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_line_ex()
1967 if (php_stream_eof(intern->u.file.stream)) { in spl_filesystem_file_read_line_ex()
1970 …zend_call_method_with_0_params(Z_OBJ_P(this_ptr), Z_OBJCE_P(this_ptr), &intern->u.file.func_getCur… in spl_filesystem_file_read_line_ex()
1982 if (intern->u.file.current_line || !Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_read_line_ex()
1983 intern->u.file.current_line_num++; in spl_filesystem_file_read_line_ex()
1985 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_line_ex()
1986 intern->u.file.current_line = estrndup(Z_STRVAL(retval), Z_STRLEN(retval)); in spl_filesystem_file_read_line_ex()
1987 intern->u.file.current_line_len = Z_STRLEN(retval); in spl_filesystem_file_read_line_ex()
1991 return spl_filesystem_file_read(intern, /* silent */ true, /* csv */ false); in spl_filesystem_file_read_line_ex()
1996 static zend_result spl_filesystem_file_read_line(zval * this_ptr, spl_filesystem_object *intern) /*… in spl_filesystem_file_read_line() argument
1998 zend_result ret = spl_filesystem_file_read_line_ex(this_ptr, intern); in spl_filesystem_file_read_line()
2000 …while (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_SKIP_EMPTY) && ret == SUCCESS && is_line_empty( in spl_filesystem_file_read_line()
2001 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_line()
2002 ret = spl_filesystem_file_read_line_ex(this_ptr, intern); in spl_filesystem_file_read_line()
2009 static void spl_filesystem_file_rewind(zval * this_ptr, spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_file_rewind() argument
2011 if (!intern->u.file.stream) { in spl_filesystem_file_rewind()
2015 if (-1 == php_stream_rewind(intern->u.file.stream)) { in spl_filesystem_file_rewind()
2016 …zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Cannot rewind file %s", ZSTR_VAL(intern->file… in spl_filesystem_file_rewind()
2020 spl_filesystem_file_free_line(intern); in spl_filesystem_file_rewind()
2021 intern->u.file.current_line_num = 0; in spl_filesystem_file_rewind()
2023 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in spl_filesystem_file_rewind()
2024 spl_filesystem_file_read_line(this_ptr, intern); in spl_filesystem_file_rewind()
2031 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2037 intern->u.file.open_mode = ZSTR_CHAR('r'); in PHP_METHOD()
2040 &intern->file_name, &open_mode, in PHP_METHOD()
2041 &use_include_path, &intern->u.file.zcontext) == FAILURE) { in PHP_METHOD()
2042 intern->u.file.open_mode = NULL; in PHP_METHOD()
2043 intern->file_name = NULL; in PHP_METHOD()
2047 intern->u.file.open_mode = zend_string_copy(open_mode); in PHP_METHOD()
2051 zend_result retval = spl_filesystem_file_open(intern, use_include_path); in PHP_METHOD()
2057 path_len = strlen(intern->u.file.stream->orig_path); in PHP_METHOD()
2059 if (path_len > 1 && IS_SLASH_AT(intern->u.file.stream->orig_path, path_len-1)) { in PHP_METHOD()
2063 while (path_len > 1 && !IS_SLASH_AT(intern->u.file.stream->orig_path, path_len-1)) { in PHP_METHOD()
2071 intern->path = zend_string_init(intern->u.file.stream->orig_path, path_len, 0); in PHP_METHOD()
2079 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2093 intern->file_name = file_name; in PHP_METHOD()
2094 intern->u.file.open_mode = ZSTR_INIT_LITERAL("wb", 0); in PHP_METHOD()
2098 if (spl_filesystem_file_open(intern, /* use_include_path */ false) == SUCCESS) { in PHP_METHOD()
2099 intern->path = ZSTR_EMPTY_ALLOC(); in PHP_METHOD()
2108 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2114 spl_filesystem_file_rewind(ZEND_THIS, intern); in PHP_METHOD()
2120 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2126 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2128 RETURN_BOOL(php_stream_eof(intern->u.file.stream)); in PHP_METHOD()
2134 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2140 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in PHP_METHOD()
2141 RETURN_BOOL(intern->u.file.current_line || !Z_ISUNDEF(intern->u.file.current_zval)); in PHP_METHOD()
2143 if (!intern->u.file.stream) { in PHP_METHOD()
2146 RETURN_BOOL(!php_stream_eof(intern->u.file.stream)); in PHP_METHOD()
2152 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2158 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2160 …if (spl_filesystem_file_read_ex(intern, /* silent */ false, /* line_add */ 1, /* csv */ false) == … in PHP_METHOD()
2163 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len); in PHP_METHOD()
2169 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2175 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2177 if (!intern->u.file.current_line && Z_ISUNDEF(intern->u.file.current_zval)) { in PHP_METHOD()
2178 spl_filesystem_file_read_line(ZEND_THIS, intern); in PHP_METHOD()
2180 …if (intern->u.file.current_line && (!SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) || Z_IS… in PHP_METHOD()
2181 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len); in PHP_METHOD()
2182 } else if (!Z_ISUNDEF(intern->u.file.current_zval)) { in PHP_METHOD()
2183 ZEND_ASSERT(!Z_ISREF(intern->u.file.current_zval)); in PHP_METHOD()
2184 ZEND_ASSERT(Z_TYPE(intern->u.file.current_zval) == IS_ARRAY); in PHP_METHOD()
2185 RETURN_COPY(&intern->u.file.current_zval); in PHP_METHOD()
2193 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2203 RETURN_LONG(intern->u.file.current_line_num); in PHP_METHOD()
2209 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2215 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2216 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in PHP_METHOD()
2217 spl_filesystem_file_read_line(ZEND_THIS, intern); in PHP_METHOD()
2219 intern->u.file.current_line_num++; in PHP_METHOD()
2225 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2227 if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &intern->flags) == FAILURE) { in PHP_METHOD()
2235 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2241 RETURN_LONG(intern->flags & SPL_FILE_OBJECT_MASK); in PHP_METHOD()
2249 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2260 intern->u.file.max_line_len = max_len; in PHP_METHOD()
2266 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2272 RETURN_LONG((zend_long)intern->u.file.max_line_len); in PHP_METHOD()
2297 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2298 char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure; in PHP_METHOD()
2299 int escape = intern->u.file.escape; in PHP_METHOD()
2307 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2335 if (spl_filesystem_file_read_csv(intern, delimiter, enclosure, escape, return_value) == FAILURE) { in PHP_METHOD()
2344 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2345 char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure; in PHP_METHOD()
2346 int escape = intern->u.file.escape; in PHP_METHOD()
2383 ret = php_fputcsv(intern->u.file.stream, fields, delimiter, enclosure, escape, eol); in PHP_METHOD()
2394 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2430 intern->u.file.delimiter = delimiter; in PHP_METHOD()
2431 intern->u.file.enclosure = enclosure; in PHP_METHOD()
2432 intern->u.file.escape = escape; in PHP_METHOD()
2439 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2448 delimiter[0] = intern->u.file.delimiter; in PHP_METHOD()
2450 enclosure[0] = intern->u.file.enclosure; in PHP_METHOD()
2452 if (intern->u.file.escape == PHP_CSV_NO_ESCAPE) { in PHP_METHOD()
2455 escape[0] = (unsigned char) intern->u.file.escape; in PHP_METHOD()
2468 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2476 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2478 php_flock_common(intern->u.file.stream, operation, 1, wouldblock, return_value); in PHP_METHOD()
2485 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2491 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2493 RETURN_BOOL(!php_stream_flush(intern->u.file.stream)); in PHP_METHOD()
2499 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2506 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2508 ret = php_stream_tell(intern->u.file.stream); in PHP_METHOD()
2520 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2527 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2529 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2530 RETURN_LONG(php_stream_seek(intern->u.file.stream, pos, (int)whence)); in PHP_METHOD()
2536 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2544 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2546 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2548 result = php_stream_getc(intern->u.file.stream); in PHP_METHOD()
2554 intern->u.file.current_line_num++; in PHP_METHOD()
2565 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2571 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2573 RETURN_LONG(php_stream_passthru(intern->u.file.stream)); in PHP_METHOD()
2582 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2588 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2591 if (spl_filesystem_file_read(intern, /* silent */ false, /* csv */ false) == FAILURE) { in PHP_METHOD()
2595 …result = php_sscanf_internal(intern->u.file.current_line, ZSTR_VAL(format_str), num_varargs, varar… in PHP_METHOD()
2606 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2616 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2630 written = php_stream_write(intern->u.file.stream, str, str_len); in PHP_METHOD()
2639 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2647 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2654 str = php_stream_read_to_str(intern->u.file.stream, length); in PHP_METHOD()
2664 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2670 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2672 php_fstat(intern->u.file.stream, return_value); in PHP_METHOD()
2679 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2686 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2688 if (!php_stream_truncate_supported(intern->u.file.stream)) { in PHP_METHOD()
2689 …zend_throw_exception_ex(spl_ce_LogicException, 0, "Can't truncate file %s", ZSTR_VAL(intern->file_… in PHP_METHOD()
2693 RETURN_BOOL(0 == php_stream_truncate_set_size(intern->u.file.stream, size)); in PHP_METHOD()
2699 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2706 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2713 spl_filesystem_file_rewind(ZEND_THIS, intern); in PHP_METHOD()
2716 if (spl_filesystem_file_read_line(ZEND_THIS, intern) == FAILURE) { in PHP_METHOD()
2720 if (line_pos > 0 && !SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in PHP_METHOD()
2721 intern->u.file.current_line_num++; in PHP_METHOD()
2722 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2732 spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); in PHP_METHOD() local
2734 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2736 if (!intern->u.file.current_line && Z_ISUNDEF(intern->u.file.current_zval)) { in PHP_METHOD()
2737 spl_filesystem_file_read_line(ZEND_THIS, intern); in PHP_METHOD()
2740 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len); in PHP_METHOD()