Lines Matching refs:intern

61 static void spl_filesystem_file_free_line(spl_filesystem_object *intern) /* {{{ */  in spl_filesystem_file_free_line()  argument
63 if (intern->u.file.current_line) { in spl_filesystem_file_free_line()
64 efree(intern->u.file.current_line); in spl_filesystem_file_free_line()
65 intern->u.file.current_line = NULL; in spl_filesystem_file_free_line()
67 if (!Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_free_line()
68 zval_ptr_dtor(&intern->u.file.current_zval); in spl_filesystem_file_free_line()
69 ZVAL_UNDEF(&intern->u.file.current_zval); in spl_filesystem_file_free_line()
75 spl_filesystem_object *intern = spl_filesystem_from_obj(object); in spl_filesystem_object_destroy_object() local
79 switch(intern->type) { in spl_filesystem_object_destroy_object()
81 if (intern->u.dir.dirp) { in spl_filesystem_object_destroy_object()
82 php_stream_close(intern->u.dir.dirp); in spl_filesystem_object_destroy_object()
83 intern->u.dir.dirp = NULL; in spl_filesystem_object_destroy_object()
87 if (intern->u.file.stream) { in spl_filesystem_object_destroy_object()
93 if (!intern->u.file.stream->is_persistent) { in spl_filesystem_object_destroy_object()
94 php_stream_close(intern->u.file.stream); in spl_filesystem_object_destroy_object()
96 php_stream_pclose(intern->u.file.stream); in spl_filesystem_object_destroy_object()
98 intern->u.file.stream = NULL; in spl_filesystem_object_destroy_object()
99 ZVAL_UNDEF(&intern->u.file.zresource); in spl_filesystem_object_destroy_object()
109 spl_filesystem_object *intern = spl_filesystem_from_obj(object); in spl_filesystem_object_free_storage() local
111 if (intern->oth_handler && intern->oth_handler->dtor) { in spl_filesystem_object_free_storage()
112 intern->oth_handler->dtor(intern); in spl_filesystem_object_free_storage()
115 zend_object_std_dtor(&intern->std); in spl_filesystem_object_free_storage()
117 if (intern->_path) { in spl_filesystem_object_free_storage()
118 efree(intern->_path); in spl_filesystem_object_free_storage()
120 if (intern->file_name) { in spl_filesystem_object_free_storage()
121 efree(intern->file_name); in spl_filesystem_object_free_storage()
123 switch(intern->type) { in spl_filesystem_object_free_storage()
127 if (intern->u.dir.sub_path) { in spl_filesystem_object_free_storage()
128 efree(intern->u.dir.sub_path); in spl_filesystem_object_free_storage()
132 if (intern->u.file.open_mode) { in spl_filesystem_object_free_storage()
133 efree(intern->u.file.open_mode); in spl_filesystem_object_free_storage()
135 if (intern->orig_path) { in spl_filesystem_object_free_storage()
136 efree(intern->orig_path); in spl_filesystem_object_free_storage()
138 spl_filesystem_file_free_line(intern); in spl_filesystem_object_free_storage()
156 spl_filesystem_object *intern; in spl_filesystem_object_new_ex() local
158 intern = zend_object_alloc(sizeof(spl_filesystem_object), class_type); in spl_filesystem_object_new_ex()
160 intern->file_class = spl_ce_SplFileObject; in spl_filesystem_object_new_ex()
161 intern->info_class = spl_ce_SplFileInfo; in spl_filesystem_object_new_ex()
163 zend_object_std_init(&intern->std, class_type); in spl_filesystem_object_new_ex()
164 object_properties_init(&intern->std, class_type); in spl_filesystem_object_new_ex()
165 intern->std.handlers = &spl_filesystem_object_handlers; in spl_filesystem_object_new_ex()
167 return &intern->std; in spl_filesystem_object_new_ex()
188 PHPAPI char* spl_filesystem_object_get_path(spl_filesystem_object *intern, size_t *len) /* {{{ */ in spl_filesystem_object_get_path() argument
191 if (intern->type == SPL_FS_DIR) { in spl_filesystem_object_get_path()
192 if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in spl_filesystem_object_get_path()
193 return php_glob_stream_get_path(intern->u.dir.dirp, len); in spl_filesystem_object_get_path()
198 *len = intern->_path_len; in spl_filesystem_object_get_path()
200 return intern->_path; in spl_filesystem_object_get_path()
203 static inline int spl_filesystem_object_get_file_name(spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_object_get_file_name() argument
205 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in spl_filesystem_object_get_file_name()
207 switch (intern->type) { in spl_filesystem_object_get_file_name()
210 if (!intern->file_name) { in spl_filesystem_object_get_file_name()
218 char *path = spl_filesystem_object_get_path(intern, &path_len); in spl_filesystem_object_get_file_name()
219 if (intern->file_name) { in spl_filesystem_object_get_file_name()
220 efree(intern->file_name); in spl_filesystem_object_get_file_name()
224 intern->file_name_len = spprintf( in spl_filesystem_object_get_file_name()
225 &intern->file_name, 0, "%s", intern->u.dir.entry.d_name); in spl_filesystem_object_get_file_name()
227 intern->file_name_len = spprintf( in spl_filesystem_object_get_file_name()
228 &intern->file_name, 0, "%s%c%s", path, slash, intern->u.dir.entry.d_name); in spl_filesystem_object_get_file_name()
236 static int spl_filesystem_dir_read(spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_dir_read() argument
238 if (!intern->u.dir.dirp || !php_stream_readdir(intern->u.dir.dirp, &intern->u.dir.entry)) { in spl_filesystem_dir_read()
239 intern->u.dir.entry.d_name[0] = '\0'; in spl_filesystem_dir_read()
257 static void spl_filesystem_dir_open(spl_filesystem_object* intern, char *path) in spl_filesystem_dir_open() argument
259 int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in spl_filesystem_dir_open()
261 intern->type = SPL_FS_DIR; in spl_filesystem_dir_open()
262 intern->_path_len = strlen(path); in spl_filesystem_dir_open()
263 intern->u.dir.dirp = php_stream_opendir(path, REPORT_ERRORS, FG(default_context)); in spl_filesystem_dir_open()
265 if (intern->_path_len > 1 && IS_SLASH_AT(path, intern->_path_len-1)) { in spl_filesystem_dir_open()
266 intern->_path = estrndup(path, --intern->_path_len); in spl_filesystem_dir_open()
268 intern->_path = estrndup(path, intern->_path_len); in spl_filesystem_dir_open()
270 intern->u.dir.index = 0; in spl_filesystem_dir_open()
272 if (EG(exception) || intern->u.dir.dirp == NULL) { in spl_filesystem_dir_open()
273 intern->u.dir.entry.d_name[0] = '\0'; in spl_filesystem_dir_open()
281 spl_filesystem_dir_read(intern); in spl_filesystem_dir_open()
282 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in spl_filesystem_dir_open()
287 static int spl_filesystem_file_open(spl_filesystem_object *intern, int use_include_path, int silent… in spl_filesystem_file_open() argument
291 intern->type = SPL_FS_FILE; in spl_filesystem_file_open()
293 php_stat(intern->file_name, intern->file_name_len, FS_IS_DIR, &tmp); in spl_filesystem_file_open()
295 intern->u.file.open_mode = NULL; in spl_filesystem_file_open()
296 intern->file_name = NULL; in spl_filesystem_file_open()
301 intern->u.file.context = php_stream_context_from_zval(intern->u.file.zcontext, 0); in spl_filesystem_file_open()
302intern->u.file.stream = php_stream_open_wrapper_ex(intern->file_name, intern->u.file.open_mode, (u… in spl_filesystem_file_open()
304 if (!intern->file_name_len || !intern->u.file.stream) { in spl_filesystem_file_open()
306 …tion_ex(spl_ce_RuntimeException, 0, "Cannot open file '%s'", intern->file_name_len ? intern->file_… in spl_filesystem_file_open()
308 intern->file_name = NULL; /* until here it is not a copy */ in spl_filesystem_file_open()
309 intern->u.file.open_mode = NULL; in spl_filesystem_file_open()
320 if (intern->file_name_len > 1 && IS_SLASH_AT(intern->file_name, intern->file_name_len-1)) { in spl_filesystem_file_open()
321 intern->file_name_len--; in spl_filesystem_file_open()
324intern->orig_path = estrndup(intern->u.file.stream->orig_path, strlen(intern->u.file.stream->orig_… in spl_filesystem_file_open()
326 intern->file_name = estrndup(intern->file_name, intern->file_name_len); in spl_filesystem_file_open()
327 intern->u.file.open_mode = estrndup(intern->u.file.open_mode, intern->u.file.open_mode_len); in spl_filesystem_file_open()
330 ZVAL_RES(&intern->u.file.zresource, intern->u.file.stream->res); in spl_filesystem_file_open()
335 intern->u.file.delimiter = ','; in spl_filesystem_file_open()
336 intern->u.file.enclosure = '"'; in spl_filesystem_file_open()
337 intern->u.file.escape = (unsigned char) '\\'; in spl_filesystem_file_open()
339intern->u.file.func_getCurr = zend_hash_str_find_ptr(&intern->std.ce->function_table, "getcurrentl… in spl_filesystem_file_open()
354 spl_filesystem_object *intern; in spl_filesystem_object_clone() local
360 intern = spl_filesystem_from_obj(new_object); in spl_filesystem_object_clone()
362 intern->flags = source->flags; in spl_filesystem_object_clone()
366 intern->_path_len = source->_path_len; in spl_filesystem_object_clone()
367 intern->_path = estrndup(source->_path, source->_path_len); in spl_filesystem_object_clone()
368 intern->file_name_len = source->file_name_len; in spl_filesystem_object_clone()
369 intern->file_name = estrndup(source->file_name, intern->file_name_len); in spl_filesystem_object_clone()
372 spl_filesystem_dir_open(intern, source->_path); in spl_filesystem_object_clone()
377 spl_filesystem_dir_read(intern); in spl_filesystem_object_clone()
378 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in spl_filesystem_object_clone()
380 intern->u.dir.index = index; in spl_filesystem_object_clone()
386 intern->file_class = source->file_class; in spl_filesystem_object_clone()
387 intern->info_class = source->info_class; in spl_filesystem_object_clone()
388 intern->oth = source->oth; in spl_filesystem_object_clone()
389 intern->oth_handler = source->oth_handler; in spl_filesystem_object_clone()
393 if (intern->oth_handler && intern->oth_handler->clone) { in spl_filesystem_object_clone()
394 intern->oth_handler->clone(source, intern); in spl_filesystem_object_clone()
401 void spl_filesystem_info_set_filename(spl_filesystem_object *intern, char *path, size_t len, size_t… in spl_filesystem_info_set_filename() argument
405 if (intern->file_name) { in spl_filesystem_info_set_filename()
406 efree(intern->file_name); in spl_filesystem_info_set_filename()
409 intern->file_name = use_copy ? estrndup(path, len) : path; in spl_filesystem_info_set_filename()
410 intern->file_name_len = len; in spl_filesystem_info_set_filename()
412 while (intern->file_name_len > 1 && IS_SLASH_AT(intern->file_name, intern->file_name_len-1)) { in spl_filesystem_info_set_filename()
413 intern->file_name[intern->file_name_len-1] = 0; in spl_filesystem_info_set_filename()
414 intern->file_name_len--; in spl_filesystem_info_set_filename()
417 p1 = strrchr(intern->file_name, '/'); in spl_filesystem_info_set_filename()
419 p2 = strrchr(intern->file_name, '\\'); in spl_filesystem_info_set_filename()
424 intern->_path_len = ((p1 > p2 ? p1 : p2) - intern->file_name); in spl_filesystem_info_set_filename()
426 intern->_path_len = 0; in spl_filesystem_info_set_filename()
429 if (intern->_path) { in spl_filesystem_info_set_filename()
430 efree(intern->_path); in spl_filesystem_info_set_filename()
432 intern->_path = estrndup(path, intern->_path_len); in spl_filesystem_info_set_filename()
437 spl_filesystem_object *intern; in spl_filesystem_object_create_info() local
463 intern = spl_filesystem_from_obj(spl_filesystem_object_new_ex(ce)); in spl_filesystem_object_create_info()
464 RETVAL_OBJ(&intern->std); in spl_filesystem_object_create_info()
471 spl_filesystem_info_set_filename(intern, file_path, file_path_len, use_copy); in spl_filesystem_object_create_info()
475 return intern; in spl_filesystem_object_create_info()
480 spl_filesystem_object *intern; in spl_filesystem_object_create_type() local
504 intern = spl_filesystem_from_obj(spl_filesystem_object_new_ex(ce)); in spl_filesystem_object_create_type()
505 RETVAL_OBJ(&intern->std); in spl_filesystem_object_create_type()
516 intern->file_name = estrndup(source->file_name, source->file_name_len); in spl_filesystem_object_create_type()
517 intern->file_name_len = source->file_name_len; in spl_filesystem_object_create_type()
518 intern->_path = spl_filesystem_object_get_path(source, &intern->_path_len); in spl_filesystem_object_create_type()
519 intern->_path = estrndup(intern->_path, intern->_path_len); in spl_filesystem_object_create_type()
540 intern = spl_filesystem_from_obj(spl_filesystem_object_new_ex(ce)); in spl_filesystem_object_create_type()
541 RETVAL_OBJ(&intern->std); in spl_filesystem_object_create_type()
554 intern->file_name = source->file_name; in spl_filesystem_object_create_type()
555 intern->file_name_len = source->file_name_len; in spl_filesystem_object_create_type()
556 intern->_path = spl_filesystem_object_get_path(source, &intern->_path_len); in spl_filesystem_object_create_type()
557 intern->_path = estrndup(intern->_path, intern->_path_len); in spl_filesystem_object_create_type()
559 intern->u.file.open_mode = open_mode; in spl_filesystem_object_create_type()
560 intern->u.file.open_mode_len = open_mode_len; in spl_filesystem_object_create_type()
561 intern->u.file.zcontext = resource; in spl_filesystem_object_create_type()
564 if (spl_filesystem_file_open(intern, use_include_path, 0) == FAILURE) { in spl_filesystem_object_create_type()
587 static char *spl_filesystem_object_get_pathname(spl_filesystem_object *intern, size_t *len) { /* {{… in spl_filesystem_object_get_pathname() argument
588 switch (intern->type) { in spl_filesystem_object_get_pathname()
591 *len = intern->file_name_len; in spl_filesystem_object_get_pathname()
592 return intern->file_name; in spl_filesystem_object_get_pathname()
594 if (intern->u.dir.entry.d_name[0]) { in spl_filesystem_object_get_pathname()
595 spl_filesystem_object_get_file_name(intern); in spl_filesystem_object_get_pathname()
596 *len = intern->file_name_len; in spl_filesystem_object_get_pathname()
597 return intern->file_name; in spl_filesystem_object_get_pathname()
607 spl_filesystem_object *intern = spl_filesystem_from_obj(object); in spl_filesystem_object_get_debug_info() local
615 if (!intern->std.properties) { in spl_filesystem_object_get_debug_info()
616 rebuild_object_properties(&intern->std); in spl_filesystem_object_get_debug_info()
619 rv = zend_array_dup(intern->std.properties); in spl_filesystem_object_get_debug_info()
622 path = spl_filesystem_object_get_pathname(intern, &path_len); in spl_filesystem_object_get_debug_info()
627 if (intern->file_name) { in spl_filesystem_object_get_debug_info()
629 spl_filesystem_object_get_path(intern, &path_len); in spl_filesystem_object_get_debug_info()
631 if (path_len && path_len < intern->file_name_len) { in spl_filesystem_object_get_debug_info()
632 ZVAL_STRINGL(&tmp, intern->file_name + path_len + 1, intern->file_name_len - (path_len + 1)); in spl_filesystem_object_get_debug_info()
634 ZVAL_STRINGL(&tmp, intern->file_name, intern->file_name_len); in spl_filesystem_object_get_debug_info()
639 if (intern->type == SPL_FS_DIR) { in spl_filesystem_object_get_debug_info()
642 if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in spl_filesystem_object_get_debug_info()
643 ZVAL_STRINGL(&tmp, intern->_path, intern->_path_len); in spl_filesystem_object_get_debug_info()
651 if (intern->u.dir.sub_path) { in spl_filesystem_object_get_debug_info()
652 ZVAL_STRINGL(&tmp, intern->u.dir.sub_path, intern->u.dir.sub_path_len); in spl_filesystem_object_get_debug_info()
659 if (intern->type == SPL_FS_FILE) { in spl_filesystem_object_get_debug_info()
661 ZVAL_STRINGL(&tmp, intern->u.file.open_mode, intern->u.file.open_mode_len); in spl_filesystem_object_get_debug_info()
665 stmp[0] = intern->u.file.delimiter; in spl_filesystem_object_get_debug_info()
670 stmp[0] = intern->u.file.enclosure; in spl_filesystem_object_get_debug_info()
702 spl_filesystem_object *intern; in spl_filesystem_object_construct() local
731 intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in spl_filesystem_object_construct()
732 if (intern->_path) { in spl_filesystem_object_construct()
737 intern->flags = flags; in spl_filesystem_object_construct()
743 spl_filesystem_dir_open(intern, path); in spl_filesystem_object_construct()
748 spl_filesystem_dir_open(intern, path); in spl_filesystem_object_construct()
752intern->u.dir.is_recursive = instanceof_function(intern->std.ce, spl_ce_RecursiveDirectoryIterator… in spl_filesystem_object_construct()
768 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
774 intern->u.dir.index = 0; in PHP_METHOD()
775 if (intern->u.dir.dirp) { in PHP_METHOD()
776 php_stream_rewinddir(intern->u.dir.dirp); in PHP_METHOD()
778 spl_filesystem_dir_read(intern); in PHP_METHOD()
785 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
791 if (intern->u.dir.dirp) { in PHP_METHOD()
792 RETURN_LONG(intern->u.dir.index); in PHP_METHOD()
812 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
813 int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in PHP_METHOD()
819 intern->u.dir.index++; in PHP_METHOD()
821 spl_filesystem_dir_read(intern); in PHP_METHOD()
822 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in PHP_METHOD()
823 if (intern->file_name) { in PHP_METHOD()
824 efree(intern->file_name); in PHP_METHOD()
825 intern->file_name = NULL; in PHP_METHOD()
833 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
841 if (intern->u.dir.index > pos) { in PHP_METHOD()
843 …zend_call_method_with_0_params(Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), &intern->u.dir.func_rewin… in PHP_METHOD()
846 while (intern->u.dir.index < pos) { in PHP_METHOD()
848 …zend_call_method_with_0_params(Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), &intern->u.dir.func_valid… in PHP_METHOD()
855 …zend_call_method_with_0_params(Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), &intern->u.dir.func_next,… in PHP_METHOD()
862 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
868 RETURN_BOOL(intern->u.dir.entry.d_name[0] != '\0'); in PHP_METHOD()
875 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
883 path = spl_filesystem_object_get_path(intern, &path_len); in PHP_METHOD()
895 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
902 if (!intern->file_name) { in PHP_METHOD()
907 spl_filesystem_object_get_path(intern, &path_len); in PHP_METHOD()
909 if (path_len && path_len < intern->file_name_len) { in PHP_METHOD()
910 RETURN_STRINGL(intern->file_name + path_len + 1, intern->file_name_len - (path_len + 1)); in PHP_METHOD()
912 RETURN_STRINGL(intern->file_name, intern->file_name_len); in PHP_METHOD()
920 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
926 RETURN_STRING(intern->u.dir.entry.d_name); in PHP_METHOD()
933 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
945 if (!intern->file_name) { in PHP_METHOD()
950 spl_filesystem_object_get_path(intern, &path_len); in PHP_METHOD()
952 if (path_len && path_len < intern->file_name_len) { in PHP_METHOD()
953 fname = intern->file_name + path_len + 1; in PHP_METHOD()
954 flen = intern->file_name_len - (path_len + 1); in PHP_METHOD()
956 fname = intern->file_name; in PHP_METHOD()
957 flen = intern->file_name_len; in PHP_METHOD()
978 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
987 fname = php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), NULL, 0); in PHP_METHOD()
1004 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1013 if (!intern->file_name) { in PHP_METHOD()
1018 spl_filesystem_object_get_path(intern, &path_len); in PHP_METHOD()
1020 if (path_len && path_len < intern->file_name_len) { in PHP_METHOD()
1021 fname = intern->file_name + path_len + 1; in PHP_METHOD()
1022 flen = intern->file_name_len - (path_len + 1); in PHP_METHOD()
1024 fname = intern->file_name; in PHP_METHOD()
1025 flen = intern->file_name_len; in PHP_METHOD()
1035 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1044 fname = php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), suffix, slen); in PHP_METHOD()
1053 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1060 path = spl_filesystem_object_get_pathname(intern, &path_len); in PHP_METHOD()
1072 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1078 if (SPL_FILE_DIR_KEY(intern, SPL_FILE_DIR_KEY_AS_FILENAME)) { in PHP_METHOD()
1079 RETURN_STRING(intern->u.dir.entry.d_name); in PHP_METHOD()
1081 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in PHP_METHOD()
1084 RETURN_STRINGL(intern->file_name, intern->file_name_len); in PHP_METHOD()
1092 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1098 if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_PATHNAME)) { in PHP_METHOD()
1099 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in PHP_METHOD()
1102 RETURN_STRINGL(intern->file_name, intern->file_name_len); in PHP_METHOD()
1103 } else if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_FILEINFO)) { in PHP_METHOD()
1104 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in PHP_METHOD()
1107 spl_filesystem_object_create_type(0, intern, SPL_FS_INFO, NULL, return_value); in PHP_METHOD()
1117 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1123 RETURN_BOOL(spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in PHP_METHOD()
1133 spl_filesystem_object *intern; in PHP_METHOD() local
1141 intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD()
1143 spl_filesystem_info_set_filename(intern, path, len, 1); in PHP_METHOD()
1153 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); \
1158 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { \
1162 php_stat(intern->file_name, intern->file_name_len, func_num, return_value); \
1230 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in FileInfoFunction() local
1241 if (intern->file_name == NULL) { in FileInfoFunction()
1242 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in FileInfoFunction()
1248 if (intern->file_name == NULL) { in FileInfoFunction()
1252 if (!IS_ABSOLUTE_PATH(intern->file_name, intern->file_name_len)) { in FileInfoFunction()
1254 if (!expand_filepath_with_mode(intern->file_name, expanded_path, NULL, 0, CWD_EXPAND )) { in FileInfoFunction()
1261 ret = php_sys_readlink(intern->file_name, buff, MAXPATHLEN-1); in FileInfoFunction()
1268 …zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Unable to read link %s, error: %s", intern->f… in FileInfoFunction()
1284 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1295 if (intern->type == SPL_FS_DIR && !intern->file_name && intern->u.dir.entry.d_name[0]) { in PHP_METHOD()
1296 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in PHP_METHOD()
1302 if (intern->orig_path) { in PHP_METHOD()
1303 filename = intern->orig_path; in PHP_METHOD()
1305 filename = intern->file_name; in PHP_METHOD()
1327 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1329 spl_filesystem_object_create_type(ZEND_NUM_ARGS(), intern, SPL_FS_FILE, NULL, return_value); in PHP_METHOD()
1336 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1343 intern->file_class = ce; in PHP_METHOD()
1350 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1357 intern->info_class = ce; in PHP_METHOD()
1364 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1365 zend_class_entry *ce = intern->info_class; in PHP_METHOD()
1371 spl_filesystem_object_create_type(ZEND_NUM_ARGS(), intern, SPL_FS_INFO, ce, return_value); in PHP_METHOD()
1378 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1379 zend_class_entry *ce = intern->info_class; in PHP_METHOD()
1387 path = spl_filesystem_object_get_pathname(intern, &path_len); in PHP_METHOD()
1391 spl_filesystem_object_create_info(intern, dpath, path_len, 1, ce, return_value); in PHP_METHOD()
1424 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1425 int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in PHP_METHOD()
1431 intern->u.dir.index = 0; in PHP_METHOD()
1432 if (intern->u.dir.dirp) { in PHP_METHOD()
1433 php_stream_rewinddir(intern->u.dir.dirp); in PHP_METHOD()
1436 spl_filesystem_dir_read(intern); in PHP_METHOD()
1437 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in PHP_METHOD()
1444 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1450 …RETURN_LONG(intern->flags & (SPL_FILE_DIR_KEY_MODE_MASK | SPL_FILE_DIR_CURRENT_MODE_MASK | SPL_FIL… in PHP_METHOD()
1456 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1463intern->flags &= ~(SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_M… in PHP_METHOD()
1464intern->flags |= ((SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_M… in PHP_METHOD()
1471 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1476 if (spl_filesystem_is_invalid_or_dot(intern->u.dir.entry.d_name)) { in PHP_METHOD()
1479 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in PHP_METHOD()
1482 if (!allow_links && !(intern->flags & SPL_FILE_DIR_FOLLOW_SYMLINKS)) { in PHP_METHOD()
1483 php_stat(intern->file_name, intern->file_name_len, FS_IS_LINK, return_value); in PHP_METHOD()
1488 php_stat(intern->file_name, intern->file_name_len, FS_IS_DIR, return_value); in PHP_METHOD()
1497 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1499 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in PHP_METHOD()
1505 if (spl_filesystem_object_get_file_name(intern) != SUCCESS) { in PHP_METHOD()
1509 ZVAL_LONG(&zflags, intern->flags); in PHP_METHOD()
1510 ZVAL_STRINGL(&zpath, intern->file_name, intern->file_name_len); in PHP_METHOD()
1516 if (intern->u.dir.sub_path && intern->u.dir.sub_path[0]) { in PHP_METHOD()
1517 …path_len = spprintf(&subdir->u.dir.sub_path, 0, "%s%c%s", intern->u.dir.sub_path, slash, intern->u… in PHP_METHOD()
1519 subdir->u.dir.sub_path_len = strlen(intern->u.dir.entry.d_name); in PHP_METHOD()
1520 subdir->u.dir.sub_path = estrndup(intern->u.dir.entry.d_name, subdir->u.dir.sub_path_len); in PHP_METHOD()
1522 subdir->info_class = intern->info_class; in PHP_METHOD()
1523 subdir->file_class = intern->file_class; in PHP_METHOD()
1524 subdir->oth = intern->oth; in PHP_METHOD()
1532 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1538 if (intern->u.dir.sub_path) { in PHP_METHOD()
1539 RETURN_STRINGL(intern->u.dir.sub_path, intern->u.dir.sub_path_len); in PHP_METHOD()
1549 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1550 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in PHP_METHOD()
1556 if (intern->u.dir.sub_path) { in PHP_METHOD()
1557 …RETURN_NEW_STR(strpprintf(0, "%s%c%s", intern->u.dir.sub_path, slash, intern->u.dir.entry.d_name)); in PHP_METHOD()
1559 RETURN_STRING(intern->u.dir.entry.d_name); in PHP_METHOD()
1582 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
1588 if (intern->u.dir.dirp && php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in PHP_METHOD()
1589 RETURN_LONG(php_glob_stream_get_count(intern->u.dir.dirp, NULL)); in PHP_METHOD()
1632 ZVAL_OBJ_COPY(&iterator->intern.data, Z_OBJ_P(object)); in spl_filesystem_dir_get_iterator()
1633 iterator->intern.funcs = &spl_filesystem_dir_it_funcs; in spl_filesystem_dir_get_iterator()
1638 return &iterator->intern; in spl_filesystem_dir_get_iterator()
1646 zval_ptr_dtor(&iterator->intern.data); in spl_filesystem_dir_it_dtor()
1708 zval_ptr_dtor(&iterator->intern.data); in spl_filesystem_tree_it_dtor()
1736 return &iterator->intern.data; in spl_filesystem_tree_it_current_data()
1824 ZVAL_OBJ_COPY(&iterator->intern.data, Z_OBJ_P(object)); in spl_filesystem_tree_get_iterator()
1825 iterator->intern.funcs = &spl_filesystem_tree_it_funcs; in spl_filesystem_tree_get_iterator()
1827 return &iterator->intern; in spl_filesystem_tree_get_iterator()
1834 spl_filesystem_object *intern = spl_filesystem_from_obj(readobj); in spl_filesystem_object_cast() local
1841 switch (intern->type) { in spl_filesystem_object_cast()
1844 ZVAL_STRINGL(writeobj, intern->file_name, intern->file_name_len); in spl_filesystem_object_cast()
1847 ZVAL_STRING(writeobj, intern->u.dir.entry.d_name); in spl_filesystem_object_cast()
1859 static zend_result spl_filesystem_file_read_ex(spl_filesystem_object *intern, bool silent, zend_lon… in spl_filesystem_file_read_ex() argument
1864 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_ex()
1866 if (php_stream_eof(intern->u.file.stream)) { in spl_filesystem_file_read_ex()
1868 …zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Cannot read from file %s", intern->file_name); in spl_filesystem_file_read_ex()
1873 if (intern->u.file.max_line_len > 0) { in spl_filesystem_file_read_ex()
1874 buf = safe_emalloc((intern->u.file.max_line_len + 1), sizeof(char), 0); in spl_filesystem_file_read_ex()
1875 …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()
1882 buf = php_stream_get_line(intern->u.file.stream, NULL, 0, &line_len); in spl_filesystem_file_read_ex()
1886 intern->u.file.current_line = estrdup(""); in spl_filesystem_file_read_ex()
1887 intern->u.file.current_line_len = 0; in spl_filesystem_file_read_ex()
1889 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_DROP_NEW_LINE)) { in spl_filesystem_file_read_ex()
1899 intern->u.file.current_line = buf; in spl_filesystem_file_read_ex()
1900 intern->u.file.current_line_len = line_len; in spl_filesystem_file_read_ex()
1902 intern->u.file.current_line_num += line_add; in spl_filesystem_file_read_ex()
1907 static inline zend_result spl_filesystem_file_read(spl_filesystem_object *intern, bool silent) in spl_filesystem_file_read() argument
1909 zend_long line_add = (intern->u.file.current_line) ? 1 : 0; in spl_filesystem_file_read()
1910 return spl_filesystem_file_read_ex(intern, silent, line_add); in spl_filesystem_file_read()
1913 static zend_result spl_filesystem_file_read_csv(spl_filesystem_object *intern, char delimiter, char… in spl_filesystem_file_read_csv() argument
1919 ret = spl_filesystem_file_read(intern, 1); in spl_filesystem_file_read_csv()
1920 …} while (ret == SUCCESS && !intern->u.file.current_line_len && SPL_HAS_FLAG(intern->flags, SPL_FIL… in spl_filesystem_file_read_csv()
1923 size_t buf_len = intern->u.file.current_line_len; in spl_filesystem_file_read_csv()
1924 char *buf = estrndup(intern->u.file.current_line, buf_len); in spl_filesystem_file_read_csv()
1926 if (!Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_read_csv()
1927 zval_ptr_dtor(&intern->u.file.current_zval); in spl_filesystem_file_read_csv()
1928 ZVAL_UNDEF(&intern->u.file.current_zval); in spl_filesystem_file_read_csv()
1931 …php_fgetcsv(intern->u.file.stream, delimiter, enclosure, escape, buf_len, buf, &intern->u.file.cur… in spl_filesystem_file_read_csv()
1933 value = &intern->u.file.current_zval; in spl_filesystem_file_read_csv()
1941 static int spl_filesystem_file_read_line_ex(zval * this_ptr, spl_filesystem_object *intern, int sil… in spl_filesystem_file_read_line_ex() argument
1946 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV)) { in spl_filesystem_file_read_line_ex()
1947 …return spl_filesystem_file_read_csv(intern, intern->u.file.delimiter, intern->u.file.enclosure, in… in spl_filesystem_file_read_line_ex()
1949 if (intern->u.file.func_getCurr->common.scope != spl_ce_SplFileObject) { in spl_filesystem_file_read_line_ex()
1951 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_line_ex()
1953 if (php_stream_eof(intern->u.file.stream)) { in spl_filesystem_file_read_line_ex()
1955 …zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Cannot read from file %s", intern->file_name); in spl_filesystem_file_read_line_ex()
1959 …zend_call_method_with_0_params(Z_OBJ_P(this_ptr), Z_OBJCE_P(ZEND_THIS), &intern->u.file.func_getCu… in spl_filesystem_file_read_line_ex()
1961 if (intern->u.file.current_line || !Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_read_line_ex()
1962 intern->u.file.current_line_num++; in spl_filesystem_file_read_line_ex()
1964 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_line_ex()
1966 intern->u.file.current_line = estrndup(Z_STRVAL(retval), Z_STRLEN(retval)); in spl_filesystem_file_read_line_ex()
1967 intern->u.file.current_line_len = Z_STRLEN(retval); in spl_filesystem_file_read_line_ex()
1971 ZVAL_COPY_DEREF(&intern->u.file.current_zval, value); in spl_filesystem_file_read_line_ex()
1979 return spl_filesystem_file_read(intern, silent); in spl_filesystem_file_read_line_ex()
1983 static int spl_filesystem_file_is_empty_line(spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_file_is_empty_line() argument
1985 if (intern->u.file.current_line) { in spl_filesystem_file_is_empty_line()
1986 return intern->u.file.current_line_len == 0; in spl_filesystem_file_is_empty_line()
1987 } else if (!Z_ISUNDEF(intern->u.file.current_zval)) { in spl_filesystem_file_is_empty_line()
1988 switch(Z_TYPE(intern->u.file.current_zval)) { in spl_filesystem_file_is_empty_line()
1990 return Z_STRLEN(intern->u.file.current_zval) == 0; in spl_filesystem_file_is_empty_line()
1992 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) in spl_filesystem_file_is_empty_line()
1993 && zend_hash_num_elements(Z_ARRVAL(intern->u.file.current_zval)) == 1) { in spl_filesystem_file_is_empty_line()
1997 while (Z_ISUNDEF(Z_ARRVAL(intern->u.file.current_zval)->arData[idx].val)) { in spl_filesystem_file_is_empty_line()
2000 first = &Z_ARRVAL(intern->u.file.current_zval)->arData[idx].val; in spl_filesystem_file_is_empty_line()
2003 return zend_hash_num_elements(Z_ARRVAL(intern->u.file.current_zval)) == 0; in spl_filesystem_file_is_empty_line()
2015 static int spl_filesystem_file_read_line(zval * this_ptr, spl_filesystem_object *intern, int silent… in spl_filesystem_file_read_line() argument
2017 int ret = spl_filesystem_file_read_line_ex(this_ptr, intern, silent); in spl_filesystem_file_read_line()
2019 …while (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_SKIP_EMPTY) && ret == SUCCESS && spl_filesystem… in spl_filesystem_file_read_line()
2020 spl_filesystem_file_free_line(intern); in spl_filesystem_file_read_line()
2021 ret = spl_filesystem_file_read_line_ex(this_ptr, intern, silent); in spl_filesystem_file_read_line()
2028 static void spl_filesystem_file_rewind(zval * this_ptr, spl_filesystem_object *intern) /* {{{ */ in spl_filesystem_file_rewind() argument
2030 if (!intern->u.file.stream) { in spl_filesystem_file_rewind()
2034 if (-1 == php_stream_rewind(intern->u.file.stream)) { in spl_filesystem_file_rewind()
2035 zend_throw_exception_ex(spl_ce_RuntimeException, 0, "Cannot rewind file %s", intern->file_name); in spl_filesystem_file_rewind()
2037 spl_filesystem_file_free_line(intern); in spl_filesystem_file_rewind()
2038 intern->u.file.current_line_num = 0; in spl_filesystem_file_rewind()
2040 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in spl_filesystem_file_rewind()
2041 spl_filesystem_file_read_line(this_ptr, intern, 1); in spl_filesystem_file_rewind()
2048 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2055 intern->u.file.open_mode = NULL; in PHP_METHOD()
2056 intern->u.file.open_mode_len = 0; in PHP_METHOD()
2059 &intern->file_name, &intern->file_name_len, in PHP_METHOD()
2060 &intern->u.file.open_mode, &intern->u.file.open_mode_len, in PHP_METHOD()
2061 &use_include_path, &intern->u.file.zcontext) == FAILURE) { in PHP_METHOD()
2062 intern->u.file.open_mode = NULL; in PHP_METHOD()
2063 intern->file_name = NULL; in PHP_METHOD()
2067 if (intern->u.file.open_mode == NULL) { in PHP_METHOD()
2068 intern->u.file.open_mode = "r"; in PHP_METHOD()
2069 intern->u.file.open_mode_len = 1; in PHP_METHOD()
2074 if (spl_filesystem_file_open(intern, use_include_path, 0) == SUCCESS) { in PHP_METHOD()
2075 tmp_path_len = strlen(intern->u.file.stream->orig_path); in PHP_METHOD()
2077 if (tmp_path_len > 1 && IS_SLASH_AT(intern->u.file.stream->orig_path, tmp_path_len-1)) { in PHP_METHOD()
2081 tmp_path = estrndup(intern->u.file.stream->orig_path, tmp_path_len); in PHP_METHOD()
2090 intern->_path_len = ((p1 > p2 ? p1 : p2) - tmp_path); in PHP_METHOD()
2092 intern->_path_len = 0; in PHP_METHOD()
2097 intern->_path = estrndup(intern->u.file.stream->orig_path, intern->_path_len); in PHP_METHOD()
2109 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2117 intern->file_name = "php://memory"; in PHP_METHOD()
2118 intern->file_name_len = 12; in PHP_METHOD()
2120intern->file_name_len = slprintf(tmp_fname, sizeof(tmp_fname), "php://temp/maxmemory:" ZEND_LONG_F… in PHP_METHOD()
2121 intern->file_name = tmp_fname; in PHP_METHOD()
2123 intern->file_name = "php://temp"; in PHP_METHOD()
2124 intern->file_name_len = 10; in PHP_METHOD()
2126 intern->u.file.open_mode = "wb"; in PHP_METHOD()
2127 intern->u.file.open_mode_len = 1; in PHP_METHOD()
2130 if (spl_filesystem_file_open(intern, 0, 0) == SUCCESS) { in PHP_METHOD()
2131 intern->_path_len = 0; in PHP_METHOD()
2132 intern->_path = estrndup("", 0); in PHP_METHOD()
2140 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2146 spl_filesystem_file_rewind(ZEND_THIS, intern); in PHP_METHOD()
2152 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2158 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2160 RETURN_BOOL(php_stream_eof(intern->u.file.stream)); in PHP_METHOD()
2166 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2172 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in PHP_METHOD()
2173 RETURN_BOOL(intern->u.file.current_line || !Z_ISUNDEF(intern->u.file.current_zval)); in PHP_METHOD()
2175 if(!intern->u.file.stream) { in PHP_METHOD()
2178 RETVAL_BOOL(!php_stream_eof(intern->u.file.stream)); in PHP_METHOD()
2185 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2191 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2193 if (spl_filesystem_file_read_ex(intern, /* silent */ false, /* line_add */ 1) == FAILURE) { in PHP_METHOD()
2196 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len); in PHP_METHOD()
2202 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2208 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2210 if (!intern->u.file.current_line && Z_ISUNDEF(intern->u.file.current_zval)) { in PHP_METHOD()
2211 spl_filesystem_file_read_line(ZEND_THIS, intern, 1); in PHP_METHOD()
2213 …if (intern->u.file.current_line && (!SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) || Z_IS… in PHP_METHOD()
2214 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len); in PHP_METHOD()
2215 } else if (!Z_ISUNDEF(intern->u.file.current_zval)) { in PHP_METHOD()
2216 zval *value = &intern->u.file.current_zval; in PHP_METHOD()
2227 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2237 RETURN_LONG(intern->u.file.current_line_num); in PHP_METHOD()
2243 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2249 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2250 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in PHP_METHOD()
2251 spl_filesystem_file_read_line(ZEND_THIS, intern, 1); in PHP_METHOD()
2253 intern->u.file.current_line_num++; in PHP_METHOD()
2259 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2261 if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &intern->flags) == FAILURE) { in PHP_METHOD()
2269 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2275 RETURN_LONG(intern->flags & SPL_FILE_OBJECT_MASK); in PHP_METHOD()
2283 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2294 intern->u.file.max_line_len = max_len; in PHP_METHOD()
2300 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2306 RETURN_LONG((zend_long)intern->u.file.max_line_len); in PHP_METHOD()
2331 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2332 char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure; in PHP_METHOD()
2333 int escape = intern->u.file.escape; in PHP_METHOD()
2339 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2371 spl_filesystem_file_read_csv(intern, delimiter, enclosure, escape, return_value); in PHP_METHOD()
2379 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2380 char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure; in PHP_METHOD()
2381 int escape = intern->u.file.escape; in PHP_METHOD()
2422 ret = php_fputcsv(intern->u.file.stream, fields, delimiter, enclosure, escape); in PHP_METHOD()
2434 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2473 intern->u.file.delimiter = delimiter; in PHP_METHOD()
2474 intern->u.file.enclosure = enclosure; in PHP_METHOD()
2475 intern->u.file.escape = escape; in PHP_METHOD()
2483 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2488 delimiter[0] = intern->u.file.delimiter; in PHP_METHOD()
2490 enclosure[0] = intern->u.file.enclosure; in PHP_METHOD()
2492 if (intern->u.file.escape == PHP_CSV_NO_ESCAPE) { in PHP_METHOD()
2495 escape[0] = (unsigned char) intern->u.file.escape; in PHP_METHOD()
2508 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2516 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2518 php_flock_common(intern->u.file.stream, operation, 1, wouldblock, return_value); in PHP_METHOD()
2525 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2527 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2529 RETURN_BOOL(!php_stream_flush(intern->u.file.stream)); in PHP_METHOD()
2535 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2538 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2540 ret = php_stream_tell(intern->u.file.stream); in PHP_METHOD()
2552 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2559 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2561 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2562 RETURN_LONG(php_stream_seek(intern->u.file.stream, pos, (int)whence)); in PHP_METHOD()
2568 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2572 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2574 spl_filesystem_file_free_line(intern); in PHP_METHOD()
2576 result = php_stream_getc(intern->u.file.stream); in PHP_METHOD()
2582 intern->u.file.current_line_num++; in PHP_METHOD()
2594 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2596 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2598 RETURN_LONG(php_stream_passthru(intern->u.file.stream)); in PHP_METHOD()
2607 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2613 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2616 if (spl_filesystem_file_read(intern, 0) == FAILURE) { in PHP_METHOD()
2620 …result = php_sscanf_internal(intern->u.file.current_line, ZSTR_VAL(format_str), num_varargs, varar… in PHP_METHOD()
2631 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2641 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2655 written = php_stream_write(intern->u.file.stream, str, str_len); in PHP_METHOD()
2664 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2672 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2679 str = php_stream_read_to_str(intern->u.file.stream, length); in PHP_METHOD()
2689 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2695 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2697 php_fstat(intern->u.file.stream, return_value); in PHP_METHOD()
2704 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2711 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2713 if (!php_stream_truncate_supported(intern->u.file.stream)) { in PHP_METHOD()
2714 zend_throw_exception_ex(spl_ce_LogicException, 0, "Can't truncate file %s", intern->file_name); in PHP_METHOD()
2718 RETURN_BOOL(0 == php_stream_truncate_set_size(intern->u.file.stream, size)); in PHP_METHOD()
2724 spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); in PHP_METHOD() local
2731 CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern); in PHP_METHOD()
2738 spl_filesystem_file_rewind(ZEND_THIS, intern); in PHP_METHOD()
2741 if (spl_filesystem_file_read_line(ZEND_THIS, intern, 1) == FAILURE) { in PHP_METHOD()
2746 if (!SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in PHP_METHOD()
2747 intern->u.file.current_line_num++; in PHP_METHOD()
2748 spl_filesystem_file_free_line(intern); in PHP_METHOD()