Lines Matching refs:intern

63 static void spl_filesystem_file_free_line(spl_filesystem_object *intern TSRMLS_DC) /* {{{ */  in spl_filesystem_file_free_line()
65 if (intern->u.file.current_line) { in spl_filesystem_file_free_line()
66 efree(intern->u.file.current_line); in spl_filesystem_file_free_line()
67 intern->u.file.current_line = NULL; in spl_filesystem_file_free_line()
69 if (intern->u.file.current_zval) { in spl_filesystem_file_free_line()
70 zval_ptr_dtor(&intern->u.file.current_zval); in spl_filesystem_file_free_line()
71 intern->u.file.current_zval = NULL; in spl_filesystem_file_free_line()
77 spl_filesystem_object *intern = (spl_filesystem_object*)object; in spl_filesystem_object_free_storage() local
79 if (intern->oth_handler && intern->oth_handler->dtor) { in spl_filesystem_object_free_storage()
80 intern->oth_handler->dtor(intern TSRMLS_CC); in spl_filesystem_object_free_storage()
83 zend_object_std_dtor(&intern->std TSRMLS_CC); in spl_filesystem_object_free_storage()
85 if (intern->_path) { in spl_filesystem_object_free_storage()
86 efree(intern->_path); in spl_filesystem_object_free_storage()
88 if (intern->file_name) { in spl_filesystem_object_free_storage()
89 efree(intern->file_name); in spl_filesystem_object_free_storage()
91 switch(intern->type) { in spl_filesystem_object_free_storage()
95 if (intern->u.dir.dirp) { in spl_filesystem_object_free_storage()
96 php_stream_close(intern->u.dir.dirp); in spl_filesystem_object_free_storage()
97 intern->u.dir.dirp = NULL; in spl_filesystem_object_free_storage()
99 if (intern->u.dir.sub_path) { in spl_filesystem_object_free_storage()
100 efree(intern->u.dir.sub_path); in spl_filesystem_object_free_storage()
104 if (intern->u.file.stream) { in spl_filesystem_object_free_storage()
105 if (intern->u.file.zcontext) { in spl_filesystem_object_free_storage()
108 if (!intern->u.file.stream->is_persistent) { in spl_filesystem_object_free_storage()
109 php_stream_free(intern->u.file.stream, PHP_STREAM_FREE_CLOSE); in spl_filesystem_object_free_storage()
111 php_stream_free(intern->u.file.stream, PHP_STREAM_FREE_CLOSE_PERSISTENT); in spl_filesystem_object_free_storage()
113 if (intern->u.file.open_mode) { in spl_filesystem_object_free_storage()
114 efree(intern->u.file.open_mode); in spl_filesystem_object_free_storage()
116 if (intern->orig_path) { in spl_filesystem_object_free_storage()
117 efree(intern->orig_path); in spl_filesystem_object_free_storage()
120 spl_filesystem_file_free_line(intern TSRMLS_CC); in spl_filesystem_object_free_storage()
127 spl_filesystem_object_to_iterator(intern); in spl_filesystem_object_free_storage()
150 spl_filesystem_object *intern; in spl_filesystem_object_new_ex() local
152 intern = emalloc(sizeof(spl_filesystem_object)); in spl_filesystem_object_new_ex()
153 memset(intern, 0, sizeof(spl_filesystem_object)); in spl_filesystem_object_new_ex()
155 intern->file_class = spl_ce_SplFileObject; in spl_filesystem_object_new_ex()
156 intern->info_class = spl_ce_SplFileInfo; in spl_filesystem_object_new_ex()
157 if (obj) *obj = intern; in spl_filesystem_object_new_ex()
159 zend_object_std_init(&intern->std, class_type TSRMLS_CC); in spl_filesystem_object_new_ex()
160 object_properties_init(&intern->std, class_type); in spl_filesystem_object_new_ex()
162 …retval.handle = zend_objects_store_put(intern, (zend_objects_store_dtor_t) zend_objects_destroy_ob… in spl_filesystem_object_new_ex()
186 PHPAPI char* spl_filesystem_object_get_path(spl_filesystem_object *intern, int *len TSRMLS_DC) /* {… in spl_filesystem_object_get_path() argument
189 if (intern->type == SPL_FS_DIR) { in spl_filesystem_object_get_path()
190 if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in spl_filesystem_object_get_path()
191 return php_glob_stream_get_path(intern->u.dir.dirp, 0, len); in spl_filesystem_object_get_path()
196 *len = intern->_path_len; in spl_filesystem_object_get_path()
198 return intern->_path; in spl_filesystem_object_get_path()
201 static inline void spl_filesystem_object_get_file_name(spl_filesystem_object *intern TSRMLS_DC) /* … in spl_filesystem_object_get_file_name()
203 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in spl_filesystem_object_get_file_name()
205 if (!intern->file_name) { in spl_filesystem_object_get_file_name()
206 switch (intern->type) { in spl_filesystem_object_get_file_name()
212 intern->file_name_len = spprintf(&intern->file_name, 0, "%s%c%s", in spl_filesystem_object_get_file_name()
213 spl_filesystem_object_get_path(intern, NULL TSRMLS_CC), in spl_filesystem_object_get_file_name()
214 slash, intern->u.dir.entry.d_name); in spl_filesystem_object_get_file_name()
220 static int spl_filesystem_dir_read(spl_filesystem_object *intern TSRMLS_DC) /* {{{ */ in spl_filesystem_dir_read()
222 if (!intern->u.dir.dirp || !php_stream_readdir(intern->u.dir.dirp, &intern->u.dir.entry)) { in spl_filesystem_dir_read()
223 intern->u.dir.entry.d_name[0] = '\0'; in spl_filesystem_dir_read()
241 static void spl_filesystem_dir_open(spl_filesystem_object* intern, char *path TSRMLS_DC) in spl_filesystem_dir_open() argument
243 int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in spl_filesystem_dir_open()
245 intern->type = SPL_FS_DIR; in spl_filesystem_dir_open()
246 intern->_path_len = strlen(path); in spl_filesystem_dir_open()
247 intern->u.dir.dirp = php_stream_opendir(path, REPORT_ERRORS, FG(default_context)); in spl_filesystem_dir_open()
249 if (intern->_path_len > 1 && IS_SLASH_AT(path, intern->_path_len-1)) { in spl_filesystem_dir_open()
250 intern->_path = estrndup(path, --intern->_path_len); in spl_filesystem_dir_open()
252 intern->_path = estrndup(path, intern->_path_len); in spl_filesystem_dir_open()
254 intern->u.dir.index = 0; in spl_filesystem_dir_open()
256 if (EG(exception) || intern->u.dir.dirp == NULL) { in spl_filesystem_dir_open()
257 intern->u.dir.entry.d_name[0] = '\0'; in spl_filesystem_dir_open()
265 spl_filesystem_dir_read(intern TSRMLS_CC); in spl_filesystem_dir_open()
266 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in spl_filesystem_dir_open()
271 static int spl_filesystem_file_open(spl_filesystem_object *intern, int use_include_path, int silent… in spl_filesystem_file_open() argument
275 intern->type = SPL_FS_FILE; in spl_filesystem_file_open()
277 php_stat(intern->file_name, intern->file_name_len, FS_IS_DIR, &tmp TSRMLS_CC); in spl_filesystem_file_open()
279 intern->u.file.open_mode = NULL; in spl_filesystem_file_open()
280 intern->file_name = NULL; in spl_filesystem_file_open()
285 intern->u.file.context = php_stream_context_from_zval(intern->u.file.zcontext, 0); in spl_filesystem_file_open()
286intern->u.file.stream = php_stream_open_wrapper_ex(intern->file_name, intern->u.file.open_mode, (u… in spl_filesystem_file_open()
288 if (!intern->file_name_len || !intern->u.file.stream) { in spl_filesystem_file_open()
290 …l_ce_RuntimeException, 0 TSRMLS_CC, "Cannot open file '%s'", intern->file_name_len ? intern->file_… in spl_filesystem_file_open()
292 intern->file_name = NULL; /* until here it is not a copy */ in spl_filesystem_file_open()
293 intern->u.file.open_mode = NULL; in spl_filesystem_file_open()
297 if (intern->u.file.zcontext) { in spl_filesystem_file_open()
298 zend_list_addref(Z_RESVAL_P(intern->u.file.zcontext)); in spl_filesystem_file_open()
301 if (intern->file_name_len > 1 && IS_SLASH_AT(intern->file_name, intern->file_name_len-1)) { in spl_filesystem_file_open()
302 intern->file_name_len--; in spl_filesystem_file_open()
305intern->orig_path = estrndup(intern->u.file.stream->orig_path, strlen(intern->u.file.stream->orig_… in spl_filesystem_file_open()
307 intern->file_name = estrndup(intern->file_name, intern->file_name_len); in spl_filesystem_file_open()
308 intern->u.file.open_mode = estrndup(intern->u.file.open_mode, intern->u.file.open_mode_len); in spl_filesystem_file_open()
311 ZVAL_RESOURCE(&intern->u.file.zresource, php_stream_get_resource_id(intern->u.file.stream)); in spl_filesystem_file_open()
312 Z_SET_REFCOUNT(intern->u.file.zresource, 1); in spl_filesystem_file_open()
314 intern->u.file.delimiter = ','; in spl_filesystem_file_open()
315 intern->u.file.enclosure = '"'; in spl_filesystem_file_open()
316 intern->u.file.escape = '\\'; in spl_filesystem_file_open()
318 …zend_hash_find(&intern->std.ce->function_table, "getcurrentline", sizeof("getcurrentline"), (void … in spl_filesystem_file_open()
336 spl_filesystem_object *intern; in spl_filesystem_object_clone() local
343 new_obj_val = spl_filesystem_object_new_ex(old_object->ce, &intern TSRMLS_CC); in spl_filesystem_object_clone()
344 new_object = &intern->std; in spl_filesystem_object_clone()
346 intern->flags = source->flags; in spl_filesystem_object_clone()
350 intern->_path_len = source->_path_len; in spl_filesystem_object_clone()
351 intern->_path = estrndup(source->_path, source->_path_len); in spl_filesystem_object_clone()
352 intern->file_name_len = source->file_name_len; in spl_filesystem_object_clone()
353 intern->file_name = estrndup(source->file_name, intern->file_name_len); in spl_filesystem_object_clone()
356 spl_filesystem_dir_open(intern, source->_path TSRMLS_CC); in spl_filesystem_object_clone()
361 spl_filesystem_dir_read(intern TSRMLS_CC); in spl_filesystem_object_clone()
362 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in spl_filesystem_object_clone()
364 intern->u.dir.index = index; in spl_filesystem_object_clone()
371 intern->file_class = source->file_class; in spl_filesystem_object_clone()
372 intern->info_class = source->info_class; in spl_filesystem_object_clone()
373 intern->oth = source->oth; in spl_filesystem_object_clone()
374 intern->oth_handler = source->oth_handler; in spl_filesystem_object_clone()
378 if (intern->oth_handler && intern->oth_handler->clone) { in spl_filesystem_object_clone()
379 intern->oth_handler->clone(source, intern TSRMLS_CC); in spl_filesystem_object_clone()
386 void spl_filesystem_info_set_filename(spl_filesystem_object *intern, char *path, int len, int use_c… in spl_filesystem_info_set_filename() argument
390 if (intern->file_name) { in spl_filesystem_info_set_filename()
391 efree(intern->file_name); in spl_filesystem_info_set_filename()
394 intern->file_name = use_copy ? estrndup(path, len) : path; in spl_filesystem_info_set_filename()
395 intern->file_name_len = len; in spl_filesystem_info_set_filename()
397 while(IS_SLASH_AT(intern->file_name, intern->file_name_len-1) && intern->file_name_len > 1) { in spl_filesystem_info_set_filename()
398 intern->file_name[intern->file_name_len-1] = 0; in spl_filesystem_info_set_filename()
399 intern->file_name_len--; in spl_filesystem_info_set_filename()
402 p1 = strrchr(intern->file_name, '/'); in spl_filesystem_info_set_filename()
404 p2 = strrchr(intern->file_name, '\\'); in spl_filesystem_info_set_filename()
409 intern->_path_len = (p1 > p2 ? p1 : p2) - intern->file_name; in spl_filesystem_info_set_filename()
411 intern->_path_len = 0; in spl_filesystem_info_set_filename()
414 if (intern->_path) { in spl_filesystem_info_set_filename()
415 efree(intern->_path); in spl_filesystem_info_set_filename()
417 intern->_path = estrndup(path, intern->_path_len); in spl_filesystem_info_set_filename()
422 spl_filesystem_object *intern; in spl_filesystem_object_create_info() local
448 return_value->value.obj = spl_filesystem_object_new_ex(ce, &intern TSRMLS_CC); in spl_filesystem_object_create_info()
457 spl_filesystem_info_set_filename(intern, file_path, file_path_len, use_copy TSRMLS_CC); in spl_filesystem_object_create_info()
461 return intern; in spl_filesystem_object_create_info()
466 spl_filesystem_object *intern; in spl_filesystem_object_create_type() local
491 return_value->value.obj = spl_filesystem_object_new_ex(ce, &intern TSRMLS_CC); in spl_filesystem_object_create_type()
501 intern->file_name = estrndup(source->file_name, source->file_name_len); in spl_filesystem_object_create_type()
502 intern->file_name_len = source->file_name_len; in spl_filesystem_object_create_type()
503 intern->_path = spl_filesystem_object_get_path(source, &intern->_path_len TSRMLS_CC); in spl_filesystem_object_create_type()
504 intern->_path = estrndup(intern->_path, intern->_path_len); in spl_filesystem_object_create_type()
512 return_value->value.obj = spl_filesystem_object_new_ex(ce, &intern TSRMLS_CC); in spl_filesystem_object_create_type()
526 intern->file_name = source->file_name; in spl_filesystem_object_create_type()
527 intern->file_name_len = source->file_name_len; in spl_filesystem_object_create_type()
528 intern->_path = spl_filesystem_object_get_path(source, &intern->_path_len TSRMLS_CC); in spl_filesystem_object_create_type()
529 intern->_path = estrndup(intern->_path, intern->_path_len); in spl_filesystem_object_create_type()
531 intern->u.file.open_mode = "r"; in spl_filesystem_object_create_type()
532 intern->u.file.open_mode_len = 1; in spl_filesystem_object_create_type()
535 &intern->u.file.open_mode, &intern->u.file.open_mode_len, in spl_filesystem_object_create_type()
536 &use_include_path, &intern->u.file.zcontext) == FAILURE) { in spl_filesystem_object_create_type()
538 intern->u.file.open_mode = NULL; in spl_filesystem_object_create_type()
539 intern->file_name = NULL; in spl_filesystem_object_create_type()
545 if (spl_filesystem_file_open(intern, use_include_path, 0 TSRMLS_CC) == FAILURE) { in spl_filesystem_object_create_type()
568 static char *spl_filesystem_object_get_pathname(spl_filesystem_object *intern, int *len TSRMLS_DC) … in spl_filesystem_object_get_pathname() argument
569 switch (intern->type) { in spl_filesystem_object_get_pathname()
572 *len = intern->file_name_len; in spl_filesystem_object_get_pathname()
573 return intern->file_name; in spl_filesystem_object_get_pathname()
575 if (intern->u.dir.entry.d_name[0]) { in spl_filesystem_object_get_pathname()
576 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in spl_filesystem_object_get_pathname()
577 *len = intern->file_name_len; in spl_filesystem_object_get_pathname()
578 return intern->file_name; in spl_filesystem_object_get_pathname()
588 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(obj TSRMLS_CC… in spl_filesystem_object_get_debug_info() local
597 if (!intern->std.properties) { in spl_filesystem_object_get_debug_info()
598 rebuild_object_properties(&intern->std); in spl_filesystem_object_get_debug_info()
602 ZEND_INIT_SYMTABLE_EX(rv, zend_hash_num_elements(intern->std.properties) + 3, 0); in spl_filesystem_object_get_debug_info()
607 …zend_hash_copy(rv, intern->std.properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(… in spl_filesystem_object_get_debug_info()
610 path = spl_filesystem_object_get_pathname(intern, &path_len TSRMLS_CC); in spl_filesystem_object_get_debug_info()
614 if (intern->file_name) { in spl_filesystem_object_get_debug_info()
616 spl_filesystem_object_get_path(intern, &path_len TSRMLS_CC); in spl_filesystem_object_get_debug_info()
618 if (path_len && path_len < intern->file_name_len) { in spl_filesystem_object_get_debug_info()
619 …add_assoc_stringl_ex(&zrv, pnstr, pnlen+1, intern->file_name + path_len + 1, intern->file_name_len… in spl_filesystem_object_get_debug_info()
621 add_assoc_stringl_ex(&zrv, pnstr, pnlen+1, intern->file_name, intern->file_name_len, 1); in spl_filesystem_object_get_debug_info()
625 if (intern->type == SPL_FS_DIR) { in spl_filesystem_object_get_debug_info()
628 if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in spl_filesystem_object_get_debug_info()
629 add_assoc_stringl_ex(&zrv, pnstr, pnlen+1, intern->_path, intern->_path_len, 1); in spl_filesystem_object_get_debug_info()
636 if (intern->u.dir.sub_path) { in spl_filesystem_object_get_debug_info()
637 … add_assoc_stringl_ex(&zrv, pnstr, pnlen+1, intern->u.dir.sub_path, intern->u.dir.sub_path_len, 1); in spl_filesystem_object_get_debug_info()
643 if (intern->type == SPL_FS_FILE) { in spl_filesystem_object_get_debug_info()
645 …add_assoc_stringl_ex(&zrv, pnstr, pnlen+1, intern->u.file.open_mode, intern->u.file.open_mode_len,… in spl_filesystem_object_get_debug_info()
648 stmp[0] = intern->u.file.delimiter; in spl_filesystem_object_get_debug_info()
652 stmp[0] = intern->u.file.enclosure; in spl_filesystem_object_get_debug_info()
681 spl_filesystem_object *intern; in spl_filesystem_object_construct() local
712 intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); in spl_filesystem_object_construct()
713 if (intern->_path) { in spl_filesystem_object_construct()
719 intern->flags = flags; in spl_filesystem_object_construct()
723 spl_filesystem_dir_open(intern, path TSRMLS_CC); in spl_filesystem_object_construct()
728 spl_filesystem_dir_open(intern, path TSRMLS_CC); in spl_filesystem_object_construct()
732intern->u.dir.is_recursive = instanceof_function(intern->std.ce, spl_ce_RecursiveDirectoryIterator… in spl_filesystem_object_construct()
750 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
756 intern->u.dir.index = 0; in SPL_METHOD()
757 if (intern->u.dir.dirp) { in SPL_METHOD()
758 php_stream_rewinddir(intern->u.dir.dirp); in SPL_METHOD()
760 spl_filesystem_dir_read(intern TSRMLS_CC); in SPL_METHOD()
768 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
774 if (intern->u.dir.dirp) { in SPL_METHOD()
775 RETURN_LONG(intern->u.dir.index); in SPL_METHOD()
797 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
798 int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in SPL_METHOD()
804 intern->u.dir.index++; in SPL_METHOD()
806 spl_filesystem_dir_read(intern TSRMLS_CC); in SPL_METHOD()
807 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in SPL_METHOD()
808 if (intern->file_name) { in SPL_METHOD()
809 efree(intern->file_name); in SPL_METHOD()
810 intern->file_name = NULL; in SPL_METHOD()
819 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() … in SPL_METHOD() local
827 if (intern->u.dir.index > pos) { in SPL_METHOD()
829 …zend_call_method_with_0_params(&this_ptr, Z_OBJCE_P(getThis()), &intern->u.dir.func_rewind, "rewin… in SPL_METHOD()
836 while (intern->u.dir.index < pos) { in SPL_METHOD()
838 …zend_call_method_with_0_params(&this_ptr, Z_OBJCE_P(getThis()), &intern->u.dir.func_valid, "valid"… in SPL_METHOD()
847 …zend_call_method_with_0_params(&this_ptr, Z_OBJCE_P(getThis()), &intern->u.dir.func_next, "next", … in SPL_METHOD()
858 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
864 RETURN_BOOL(intern->u.dir.entry.d_name[0] != '\0'); in SPL_METHOD()
872 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
880 path = spl_filesystem_object_get_path(intern, &path_len TSRMLS_CC); in SPL_METHOD()
889 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
896 spl_filesystem_object_get_path(intern, &path_len TSRMLS_CC); in SPL_METHOD()
898 if (path_len && path_len < intern->file_name_len) { in SPL_METHOD()
899 RETURN_STRINGL(intern->file_name + path_len + 1, intern->file_name_len - (path_len + 1), 1); in SPL_METHOD()
901 RETURN_STRINGL(intern->file_name, intern->file_name_len, 1); in SPL_METHOD()
910 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
916 RETURN_STRING(intern->u.dir.entry.d_name, 1); in SPL_METHOD()
924 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
934 spl_filesystem_object_get_path(intern, &path_len TSRMLS_CC); in SPL_METHOD()
936 if (path_len && path_len < intern->file_name_len) { in SPL_METHOD()
937 fname = intern->file_name + path_len + 1; in SPL_METHOD()
938 flen = intern->file_name_len - (path_len + 1); in SPL_METHOD()
940 fname = intern->file_name; in SPL_METHOD()
941 flen = intern->file_name_len; in SPL_METHOD()
965 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
975 …php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), NULL, 0, &fname, &fle… in SPL_METHOD()
996 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1005 spl_filesystem_object_get_path(intern, &path_len TSRMLS_CC); in SPL_METHOD()
1007 if (path_len && path_len < intern->file_name_len) { in SPL_METHOD()
1008 fname = intern->file_name + path_len + 1; in SPL_METHOD()
1009 flen = intern->file_name_len - (path_len + 1); in SPL_METHOD()
1011 fname = intern->file_name; in SPL_METHOD()
1012 flen = intern->file_name_len; in SPL_METHOD()
1025 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1034 …php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), suffix, slen, &fname,… in SPL_METHOD()
1044 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1051 path = spl_filesystem_object_get_pathname(intern, &path_len TSRMLS_CC); in SPL_METHOD()
1064 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1070 if (SPL_FILE_DIR_KEY(intern, SPL_FILE_DIR_KEY_AS_FILENAME)) { in SPL_METHOD()
1071 RETURN_STRING(intern->u.dir.entry.d_name, 1); in SPL_METHOD()
1073 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in SPL_METHOD()
1074 RETURN_STRINGL(intern->file_name, intern->file_name_len, 1); in SPL_METHOD()
1083 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1089 if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_PATHNAME)) { in SPL_METHOD()
1090 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in SPL_METHOD()
1091 RETURN_STRINGL(intern->file_name, intern->file_name_len, 1); in SPL_METHOD()
1092 } else if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_FILEINFO)) { in SPL_METHOD()
1093 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in SPL_METHOD()
1094 spl_filesystem_object_create_type(0, intern, SPL_FS_INFO, NULL, return_value TSRMLS_CC); in SPL_METHOD()
1106 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1112 RETURN_BOOL(spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in SPL_METHOD()
1127 spl_filesystem_object *intern; in SPL_METHOD() local
1139 intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); in SPL_METHOD()
1141 spl_filesystem_info_set_filename(intern, path, len, 1 TSRMLS_CC); in SPL_METHOD()
1153 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR…
1160 spl_filesystem_object_get_file_name(intern TSRMLS_CC); \
1161 php_stat(intern->file_name, intern->file_name_len, func_num, return_value TSRMLS_CC); \
1245 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in FileInfoFunction() local
1257 if (intern->file_name == NULL) { in FileInfoFunction()
1260 } else if (!IS_ABSOLUTE_PATH(intern->file_name, intern->file_name_len)) { in FileInfoFunction()
1262 …if (!expand_filepath_with_mode(intern->file_name, expanded_path, NULL, 0, CWD_EXPAND TSRMLS_CC)) { in FileInfoFunction()
1268 ret = php_sys_readlink(intern->file_name, buff, MAXPATHLEN-1); in FileInfoFunction()
1275 …l_ce_RuntimeException, 0 TSRMLS_CC, "Unable to read link %s, error: %s", intern->file_name, strerr… in FileInfoFunction()
1293 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1304 if (intern->type == SPL_FS_DIR && !intern->file_name && intern->u.dir.entry.d_name[0]) { in SPL_METHOD()
1305 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in SPL_METHOD()
1308 if (intern->orig_path) { in SPL_METHOD()
1309 filename = intern->orig_path; in SPL_METHOD()
1311 filename = intern->file_name; in SPL_METHOD()
1335 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1337 spl_filesystem_object_create_type(ht, intern, SPL_FS_FILE, NULL, return_value TSRMLS_CC); in SPL_METHOD()
1345 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1352 intern->file_class = ce; in SPL_METHOD()
1363 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1370 intern->info_class = ce; in SPL_METHOD()
1381 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1382 zend_class_entry *ce = intern->info_class; in SPL_METHOD()
1388 spl_filesystem_object_create_type(ht, intern, SPL_FS_INFO, ce, return_value TSRMLS_CC); in SPL_METHOD()
1399 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1400 zend_class_entry *ce = intern->info_class; in SPL_METHOD()
1407 char *path = spl_filesystem_object_get_pathname(intern, &path_len TSRMLS_CC); in SPL_METHOD()
1411 spl_filesystem_object_create_info(intern, dpath, path_len, 1, ce, return_value TSRMLS_CC); in SPL_METHOD()
1441 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1442 int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); in SPL_METHOD()
1448 intern->u.dir.index = 0; in SPL_METHOD()
1449 if (intern->u.dir.dirp) { in SPL_METHOD()
1450 php_stream_rewinddir(intern->u.dir.dirp); in SPL_METHOD()
1453 spl_filesystem_dir_read(intern TSRMLS_CC); in SPL_METHOD()
1454 } while (skip_dots && spl_filesystem_is_dot(intern->u.dir.entry.d_name)); in SPL_METHOD()
1462 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1468 …RETURN_LONG(intern->flags & (SPL_FILE_DIR_KEY_MODE_MASK | SPL_FILE_DIR_CURRENT_MODE_MASK | SPL_FIL… in SPL_METHOD()
1475 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1482intern->flags &= ~(SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_M… in SPL_METHOD()
1483intern->flags |= ((SPL_FILE_DIR_KEY_MODE_MASK|SPL_FILE_DIR_CURRENT_MODE_MASK|SPL_FILE_DIR_OTHERS_M… in SPL_METHOD()
1491 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1496 if (spl_filesystem_is_invalid_or_dot(intern->u.dir.entry.d_name)) { in SPL_METHOD()
1499 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in SPL_METHOD()
1500 if (!allow_links && !(intern->flags & SPL_FILE_DIR_FOLLOW_SYMLINKS)) { in SPL_METHOD()
1501 php_stat(intern->file_name, intern->file_name_len, FS_IS_LINK, return_value TSRMLS_CC); in SPL_METHOD()
1506 php_stat(intern->file_name, intern->file_name_len, FS_IS_DIR, return_value TSRMLS_CC); in SPL_METHOD()
1516 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1518 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in SPL_METHOD()
1524 spl_filesystem_object_get_file_name(intern TSRMLS_CC); in SPL_METHOD()
1526 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_CURRENT_AS_PATHNAME)) { in SPL_METHOD()
1527 RETURN_STRINGL(intern->file_name, intern->file_name_len, 1); in SPL_METHOD()
1531 ZVAL_LONG(zflags, intern->flags); in SPL_METHOD()
1532 ZVAL_STRINGL(zpath, intern->file_name, intern->file_name_len, 1); in SPL_METHOD()
1539 if (intern->u.dir.sub_path && intern->u.dir.sub_path[0]) { in SPL_METHOD()
1540 …path_len = spprintf(&subdir->u.dir.sub_path, 0, "%s%c%s", intern->u.dir.sub_path, slash, intern->u… in SPL_METHOD()
1542 subdir->u.dir.sub_path_len = strlen(intern->u.dir.entry.d_name); in SPL_METHOD()
1543 subdir->u.dir.sub_path = estrndup(intern->u.dir.entry.d_name, subdir->u.dir.sub_path_len); in SPL_METHOD()
1545 subdir->info_class = intern->info_class; in SPL_METHOD()
1546 subdir->file_class = intern->file_class; in SPL_METHOD()
1547 subdir->oth = intern->oth; in SPL_METHOD()
1557 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1563 if (intern->u.dir.sub_path) { in SPL_METHOD()
1564 RETURN_STRINGL(intern->u.dir.sub_path, intern->u.dir.sub_path_len, 1); in SPL_METHOD()
1575 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1578 char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; in SPL_METHOD()
1584 if (intern->u.dir.sub_path) { in SPL_METHOD()
1585 len = spprintf(&sub_name, 0, "%s%c%s", intern->u.dir.sub_path, slash, intern->u.dir.entry.d_name); in SPL_METHOD()
1588 RETURN_STRING(intern->u.dir.entry.d_name, 1); in SPL_METHOD()
1614 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
1620 if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { in SPL_METHOD()
1621 RETURN_LONG(php_glob_stream_get_count(intern->u.dir.dirp, NULL)); in SPL_METHOD()
1662 if (iterator->intern.data == NULL) { in spl_filesystem_dir_get_iterator()
1663 iterator->intern.data = object; in spl_filesystem_dir_get_iterator()
1664 iterator->intern.funcs = &spl_filesystem_dir_it_funcs; in spl_filesystem_dir_get_iterator()
1680 if (iterator->intern.data) { in spl_filesystem_dir_it_dtor()
1681 zval *object = iterator->intern.data; in spl_filesystem_dir_it_dtor()
1752 if (iterator->intern.data) { in spl_filesystem_tree_it_dtor()
1753 zval *object = iterator->intern.data; in spl_filesystem_tree_it_dtor()
1784 *data = (zval**)&iterator->intern.data; in spl_filesystem_tree_it_current_data()
1871 if (iterator->intern.data == NULL) { in spl_filesystem_tree_get_iterator()
1872 iterator->intern.data = object; in spl_filesystem_tree_get_iterator()
1873 iterator->intern.funcs = &spl_filesystem_tree_it_funcs; in spl_filesystem_tree_get_iterator()
1884 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(readobj TSRML… in spl_filesystem_object_cast() local
1891 switch (intern->type) { in spl_filesystem_object_cast()
1898 ZVAL_STRINGL(retval_ptr, intern->file_name, intern->file_name_len, 1); in spl_filesystem_object_cast()
1902 ZVAL_STRINGL(writeobj, intern->file_name, intern->file_name_len, 1); in spl_filesystem_object_cast()
1910 ZVAL_STRING(retval_ptr, intern->u.dir.entry.d_name, 1); in spl_filesystem_object_cast()
1914 ZVAL_STRING(writeobj, intern->u.dir.entry.d_name, 1); in spl_filesystem_object_cast()
2056 static int spl_filesystem_file_read(spl_filesystem_object *intern, int silent TSRMLS_DC) /* {{{ */ in spl_filesystem_file_read() argument
2060 long line_add = (intern->u.file.current_line || intern->u.file.current_zval) ? 1 : 0; in spl_filesystem_file_read()
2062 spl_filesystem_file_free_line(intern TSRMLS_CC); in spl_filesystem_file_read()
2064 if (php_stream_eof(intern->u.file.stream)) { in spl_filesystem_file_read()
2066 …zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Cannot read from file %s", intern->… in spl_filesystem_file_read()
2071 if (intern->u.file.max_line_len > 0) { in spl_filesystem_file_read()
2072 buf = safe_emalloc((intern->u.file.max_line_len + 1), sizeof(char), 0); in spl_filesystem_file_read()
2073 …if (php_stream_get_line(intern->u.file.stream, buf, intern->u.file.max_line_len, &line_len) == NUL… in spl_filesystem_file_read()
2080 buf = php_stream_get_line(intern->u.file.stream, NULL, 0, &line_len); in spl_filesystem_file_read()
2084 intern->u.file.current_line = estrdup(""); in spl_filesystem_file_read()
2085 intern->u.file.current_line_len = 0; in spl_filesystem_file_read()
2087 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_DROP_NEW_LINE)) { in spl_filesystem_file_read()
2092 intern->u.file.current_line = buf; in spl_filesystem_file_read()
2093 intern->u.file.current_line_len = line_len; in spl_filesystem_file_read()
2095 intern->u.file.current_line_num += line_add; in spl_filesystem_file_read()
2100 static int spl_filesystem_file_call(spl_filesystem_object *intern, zend_function *func_ptr, int pas… in spl_filesystem_file_call() argument
2105 zval * zresource_ptr = &intern->u.file.zresource, *retval; in spl_filesystem_file_call()
2158 spl_filesystem_file_call(intern, func_ptr, pass_num_args, return_value, arg2 TSRMLS_CC); \
2161 static int spl_filesystem_file_read_csv(spl_filesystem_object *intern, char delimiter, char enclosu… in spl_filesystem_file_read_csv() argument
2166 ret = spl_filesystem_file_read(intern, 1 TSRMLS_CC); in spl_filesystem_file_read_csv()
2167 …} while (ret == SUCCESS && !intern->u.file.current_line_len && SPL_HAS_FLAG(intern->flags, SPL_FIL… in spl_filesystem_file_read_csv()
2170 size_t buf_len = intern->u.file.current_line_len; in spl_filesystem_file_read_csv()
2171 char *buf = estrndup(intern->u.file.current_line, buf_len); in spl_filesystem_file_read_csv()
2173 if (intern->u.file.current_zval) { in spl_filesystem_file_read_csv()
2174 zval_ptr_dtor(&intern->u.file.current_zval); in spl_filesystem_file_read_csv()
2176 ALLOC_INIT_ZVAL(intern->u.file.current_zval); in spl_filesystem_file_read_csv()
2178 …php_fgetcsv(intern->u.file.stream, delimiter, enclosure, escape, buf_len, buf, intern->u.file.curr… in spl_filesystem_file_read_csv()
2184 ZVAL_ZVAL(return_value, intern->u.file.current_zval, 1, 0); in spl_filesystem_file_read_csv()
2191 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
2196 …if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) || intern->u.file.func_getCurr->common.s… in spl_filesystem_file_read_line_ex()
2197 if (php_stream_eof(intern->u.file.stream)) { in spl_filesystem_file_read_line_ex()
2199 …_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Cannot read from file %s", intern->file_name); in spl_filesystem_file_read_line_ex()
2203 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV)) { in spl_filesystem_file_read_line_ex()
2204 …return spl_filesystem_file_read_csv(intern, intern->u.file.delimiter, intern->u.file.enclosure, in… in spl_filesystem_file_read_line_ex()
2206 …zend_call_method_with_0_params(&this_ptr, Z_OBJCE_P(getThis()), &intern->u.file.func_getCurr, "get… in spl_filesystem_file_read_line_ex()
2209 if (intern->u.file.current_line || intern->u.file.current_zval) { in spl_filesystem_file_read_line_ex()
2210 intern->u.file.current_line_num++; in spl_filesystem_file_read_line_ex()
2212 spl_filesystem_file_free_line(intern TSRMLS_CC); in spl_filesystem_file_read_line_ex()
2214 intern->u.file.current_line = estrndup(Z_STRVAL_P(retval), Z_STRLEN_P(retval)); in spl_filesystem_file_read_line_ex()
2215 intern->u.file.current_line_len = Z_STRLEN_P(retval); in spl_filesystem_file_read_line_ex()
2217 MAKE_STD_ZVAL(intern->u.file.current_zval); in spl_filesystem_file_read_line_ex()
2218 ZVAL_ZVAL(intern->u.file.current_zval, retval, 1, 0); in spl_filesystem_file_read_line_ex()
2226 return spl_filesystem_file_read(intern, silent TSRMLS_CC); in spl_filesystem_file_read_line_ex()
2230 static int spl_filesystem_file_is_empty_line(spl_filesystem_object *intern TSRMLS_DC) /* {{{ */ in spl_filesystem_file_is_empty_line()
2232 if (intern->u.file.current_line) { in spl_filesystem_file_is_empty_line()
2233 return intern->u.file.current_line_len == 0; in spl_filesystem_file_is_empty_line()
2234 } else if (intern->u.file.current_zval) { in spl_filesystem_file_is_empty_line()
2235 switch(Z_TYPE_P(intern->u.file.current_zval)) { in spl_filesystem_file_is_empty_line()
2237 return Z_STRLEN_P(intern->u.file.current_zval) == 0; in spl_filesystem_file_is_empty_line()
2239 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) in spl_filesystem_file_is_empty_line()
2240 && zend_hash_num_elements(Z_ARRVAL_P(intern->u.file.current_zval)) == 1) { in spl_filesystem_file_is_empty_line()
2241 zval ** first = Z_ARRVAL_P(intern->u.file.current_zval)->pListHead->pData; in spl_filesystem_file_is_empty_line()
2245 return zend_hash_num_elements(Z_ARRVAL_P(intern->u.file.current_zval)) == 0; in spl_filesystem_file_is_empty_line()
2257 static int spl_filesystem_file_read_line(zval * this_ptr, spl_filesystem_object *intern, int silent… in spl_filesystem_file_read_line() argument
2259 int ret = spl_filesystem_file_read_line_ex(this_ptr, intern, silent TSRMLS_CC); in spl_filesystem_file_read_line()
2261 …while (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_SKIP_EMPTY) && ret == SUCCESS && spl_filesystem… in spl_filesystem_file_read_line()
2262 spl_filesystem_file_free_line(intern TSRMLS_CC); in spl_filesystem_file_read_line()
2263 ret = spl_filesystem_file_read_line_ex(this_ptr, intern, silent TSRMLS_CC); in spl_filesystem_file_read_line()
2270 static void spl_filesystem_file_rewind(zval * this_ptr, spl_filesystem_object *intern TSRMLS_DC) /*… in spl_filesystem_file_rewind()
2272 if (-1 == php_stream_rewind(intern->u.file.stream)) { in spl_filesystem_file_rewind()
2273 …zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Cannot rewind file %s", intern->fil… in spl_filesystem_file_rewind()
2275 spl_filesystem_file_free_line(intern TSRMLS_CC); in spl_filesystem_file_rewind()
2276 intern->u.file.current_line_num = 0; in spl_filesystem_file_rewind()
2278 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in spl_filesystem_file_rewind()
2279 spl_filesystem_file_read_line(this_ptr, intern, 1 TSRMLS_CC); in spl_filesystem_file_rewind()
2287 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2296 intern->u.file.open_mode = NULL; in SPL_METHOD()
2297 intern->u.file.open_mode_len = 0; in SPL_METHOD()
2300 &intern->file_name, &intern->file_name_len, in SPL_METHOD()
2301 &intern->u.file.open_mode, &intern->u.file.open_mode_len, in SPL_METHOD()
2302 &use_include_path, &intern->u.file.zcontext) == FAILURE) { in SPL_METHOD()
2303 intern->u.file.open_mode = NULL; in SPL_METHOD()
2304 intern->file_name = NULL; in SPL_METHOD()
2309 if (intern->u.file.open_mode == NULL) { in SPL_METHOD()
2310 intern->u.file.open_mode = "r"; in SPL_METHOD()
2311 intern->u.file.open_mode_len = 1; in SPL_METHOD()
2314 if (spl_filesystem_file_open(intern, use_include_path, 0 TSRMLS_CC) == SUCCESS) { in SPL_METHOD()
2315 tmp_path_len = strlen(intern->u.file.stream->orig_path); in SPL_METHOD()
2317 if (tmp_path_len > 1 && IS_SLASH_AT(intern->u.file.stream->orig_path, tmp_path_len-1)) { in SPL_METHOD()
2321 tmp_path = estrndup(intern->u.file.stream->orig_path, tmp_path_len); in SPL_METHOD()
2330 intern->_path_len = (p1 > p2 ? p1 : p2) - tmp_path; in SPL_METHOD()
2332 intern->_path_len = 0; in SPL_METHOD()
2337 intern->_path = estrndup(intern->u.file.stream->orig_path, intern->_path_len); in SPL_METHOD()
2350 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2361 intern->file_name = "php://memory"; in SPL_METHOD()
2362 intern->file_name_len = 12; in SPL_METHOD()
2364intern->file_name_len = slprintf(tmp_fname, sizeof(tmp_fname), "php://temp/maxmemory:%ld", max_mem… in SPL_METHOD()
2365 intern->file_name = tmp_fname; in SPL_METHOD()
2367 intern->file_name = "php://temp"; in SPL_METHOD()
2368 intern->file_name_len = 10; in SPL_METHOD()
2370 intern->u.file.open_mode = "wb"; in SPL_METHOD()
2371 intern->u.file.open_mode_len = 1; in SPL_METHOD()
2372 intern->u.file.zcontext = NULL; in SPL_METHOD()
2374 if (spl_filesystem_file_open(intern, 0, 0 TSRMLS_CC) == SUCCESS) { in SPL_METHOD()
2375 intern->_path_len = 0; in SPL_METHOD()
2376 intern->_path = estrndup("", 0); in SPL_METHOD()
2385 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2391 spl_filesystem_file_rewind(getThis(), intern TSRMLS_CC); in SPL_METHOD()
2398 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2404 RETURN_BOOL(php_stream_eof(intern->u.file.stream)); in SPL_METHOD()
2411 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2417 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in SPL_METHOD()
2418 RETURN_BOOL(intern->u.file.current_line || intern->u.file.current_zval); in SPL_METHOD()
2420 RETVAL_BOOL(!php_stream_eof(intern->u.file.stream)); in SPL_METHOD()
2428 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2434 if (spl_filesystem_file_read(intern, 0 TSRMLS_CC) == FAILURE) { in SPL_METHOD()
2437 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len, 1); in SPL_METHOD()
2444 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2450 if (!intern->u.file.current_line && !intern->u.file.current_zval) { in SPL_METHOD()
2451 spl_filesystem_file_read_line(getThis(), intern, 1 TSRMLS_CC); in SPL_METHOD()
2453 …if (intern->u.file.current_line && (!SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_CSV) || !int… in SPL_METHOD()
2454 RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len, 1); in SPL_METHOD()
2455 } else if (intern->u.file.current_zval) { in SPL_METHOD()
2456 RETURN_ZVAL(intern->u.file.current_zval, 1, 0); in SPL_METHOD()
2465 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2475 RETURN_LONG(intern->u.file.current_line_num); in SPL_METHOD()
2482 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2488 spl_filesystem_file_free_line(intern TSRMLS_CC); in SPL_METHOD()
2489 if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { in SPL_METHOD()
2490 spl_filesystem_file_read_line(getThis(), intern, 1 TSRMLS_CC); in SPL_METHOD()
2492 intern->u.file.current_line_num++; in SPL_METHOD()
2499 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2501 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &intern->flags) == FAILURE) { in SPL_METHOD()
2510 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2516 RETURN_LONG(intern->flags & SPL_FILE_OBJECT_MASK); in SPL_METHOD()
2525 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2536 intern->u.file.max_line_len = max_len; in SPL_METHOD()
2543 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2549 RETURN_LONG((long)intern->u.file.max_line_len); in SPL_METHOD()
2577 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR…
2586 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2587 …char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure, escape = intern->… in SPL_METHOD()
2618 spl_filesystem_file_read_csv(intern, delimiter, enclosure, escape, return_value TSRMLS_CC); in SPL_METHOD()
2627 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2628 …char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure, escape = intern->… in SPL_METHOD()
2654 ret = php_fputcsv(intern->u.file.stream, fields, delimiter, enclosure, escape TSRMLS_CC); in SPL_METHOD()
2664 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2696 intern->u.file.delimiter = delimiter; in SPL_METHOD()
2697 intern->u.file.enclosure = enclosure; in SPL_METHOD()
2698 intern->u.file.escape = escape; in SPL_METHOD()
2707 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2712 delimiter[0] = intern->u.file.delimiter; in SPL_METHOD()
2714 enclosure[0] = intern->u.file.enclosure; in SPL_METHOD()
2731 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2733 RETURN_BOOL(!php_stream_flush(intern->u.file.stream)); in SPL_METHOD()
2740 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2741 long ret = php_stream_tell(intern->u.file.stream); in SPL_METHOD()
2754 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2761 spl_filesystem_file_free_line(intern TSRMLS_CC); in SPL_METHOD()
2762 RETURN_LONG(php_stream_seek(intern->u.file.stream, pos, whence)); in SPL_METHOD()
2769 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2773 spl_filesystem_file_free_line(intern TSRMLS_CC); in SPL_METHOD()
2775 result = php_stream_getc(intern->u.file.stream); in SPL_METHOD()
2781 intern->u.file.current_line_num++; in SPL_METHOD()
2794 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2798 if (intern->u.file.max_line_len > 0) { in SPL_METHOD()
2799 ZVAL_LONG(arg2, intern->u.file.max_line_len); in SPL_METHOD()
2804 spl_filesystem_file_free_line(intern TSRMLS_CC); in SPL_METHOD()
2805 intern->u.file.current_line_num++; in SPL_METHOD()
2816 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2818 RETURN_LONG(php_stream_passthru(intern->u.file.stream)); in SPL_METHOD()
2825 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2827 spl_filesystem_file_free_line(intern TSRMLS_CC); in SPL_METHOD()
2828 intern->u.file.current_line_num++; in SPL_METHOD()
2838 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2854 RETURN_LONG(php_stream_write(intern->u.file.stream, str, str_len)); in SPL_METHOD()
2866 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2873 if (!php_stream_truncate_supported(intern->u.file.stream)) { in SPL_METHOD()
2874 …zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, "Can't truncate file %s", intern->file… in SPL_METHOD()
2878 RETURN_BOOL(0 == php_stream_truncate_set_size(intern->u.file.stream, size)); in SPL_METHOD()
2885 …spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSR… in SPL_METHOD() local
2892 …_LogicException, 0 TSRMLS_CC, "Can't seek file %s to negative line %ld", intern->file_name, line_p… in SPL_METHOD()
2896 spl_filesystem_file_rewind(getThis(), intern TSRMLS_CC); in SPL_METHOD()
2898 while(intern->u.file.current_line_num < line_pos) { in SPL_METHOD()
2899 if (spl_filesystem_file_read_line(getThis(), intern, 1 TSRMLS_CC) == FAILURE) { in SPL_METHOD()