{
spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
- RETURN_ZSTRL(intern->path_type, intern->path, intern->path_len, 1);
+ RETURN_ZSTRL(intern->path_type, intern->path, intern->path_len, ZSTR_DUPLICATE);
}
/* }}} */
}
RETURN_ZSTRL(intern->file_name_type, ret, intern->file_name_len - (intern->path_len + 1), 1);
} else {
- RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, 1);
+ RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, ZSTR_DUPLICATE);
}
}
/* }}} */
switch (intern->type) {
case SPL_FS_INFO:
case SPL_FS_FILE:
- RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, 1);
+ RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, ZSTR_DUPLICATE);
case SPL_FS_DIR:
if (intern->u.dir.entry.d_name[0]) {
spl_filesystem_object_get_file_name(intern TSRMLS_CC);
- RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, 1);
+ RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, ZSTR_DUPLICATE);
}
}
RETURN_BOOL(0);
spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
if (intern->flags & SPL_FILE_DIR_KEY_AS_FILENAME) {
- RETURN_STRING(intern->u.dir.entry.d_name, 1);
+ RETURN_RT_STRING(intern->u.dir.entry.d_name, ZSTR_DUPLICATE);
} else {
spl_filesystem_object_get_file_name(intern TSRMLS_CC);
RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, 1);
if (intern->flags & SPL_FILE_DIR_CURRENT_AS_PATHNAME) {
spl_filesystem_object_get_file_name(intern TSRMLS_CC);
- RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, 1);
+ RETURN_ZSTRL(intern->file_name_type, intern->file_name, intern->file_name_len, ZSTR_DUPLICATE);
} else if (intern->flags & SPL_FILE_DIR_CURRENT_AS_FILEINFO) {
spl_filesystem_object_get_file_name(intern TSRMLS_CC);
spl_filesystem_object_create_type(0, intern, SPL_FS_INFO, NULL, return_value TSRMLS_CC);
{
spl_filesystem_object *intern;
zstr path;
- int len;
- zend_uchar type;
+ int path_len;
+ zend_uchar path_type;
php_set_error_handling(EH_THROW, spl_ce_RuntimeException TSRMLS_CC);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t", &path, &len, &type) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t", &path, &path_len, &path_type) == FAILURE) {
php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC);
return;
}
intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
- spl_filesystem_info_set_filename(intern, type, path, len, 1 TSRMLS_CC);
+ spl_filesystem_info_set_filename(intern, path_type, path, path_len, 1 TSRMLS_CC);
/* intern->type = SPL_FS_INFO; already set */
spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
if (intern->u.dir.sub_path.v) {
- RETURN_ZSTRL(intern->u.dir.sub_path_type, intern->u.dir.sub_path, intern->u.dir.sub_path_len, 1);
+ RETURN_ZSTRL(intern->u.dir.sub_path_type, intern->u.dir.sub_path, intern->u.dir.sub_path_len, ZSTR_DUPLICATE);
} else {
RETURN_EMPTY_TEXT();
}
}
RETURN_ZSTRL(intern->u.dir.sub_path_type, sub_name, len, 0);
} else {
- RETURN_STRING(intern->u.dir.entry.d_name, 1);
+ RETURN_RT_STRING(intern->u.dir.entry.d_name, ZSTR_DUPLICATE);
}
}
/* }}} */
if (!iterator->current) {
ALLOC_INIT_ZVAL(iterator->current);
spl_filesystem_object_get_file_name(object TSRMLS_CC);
- ZVAL_ZSTRL(iterator->current, object->file_name_type, object->file_name, object->file_name_len, 1);
+ ZVAL_ZSTRL(iterator->current, object->file_name_type, object->file_name, object->file_name_len, ZSTR_DUPLICATE);
}
*data = &iterator->current;
} else if (object->flags & SPL_FILE_DIR_CURRENT_AS_FILEINFO) {
return SUCCESS;
}
if (type == IS_STRING) {
- ZVAL_ZSTRL(writeobj, intern->file_name_type, intern->file_name, intern->file_name_len, 1);
+ ZVAL_ZSTRL(writeobj, intern->file_name_type, intern->file_name, intern->file_name_len, ZSTR_DUPLICATE);
zval_unicode_to_string_ex(writeobj, ZEND_U_CONVERTER(((UConverter *)extra)) TSRMLS_CC);
return SUCCESS;
}
spl_filesystem_file_read_line(getThis(), intern, 1 TSRMLS_CC);
}
if (intern->u.file.current_line && (!(intern->flags & SPL_FILE_OBJECT_READ_CSV) || !intern->u.file.current_zval)) {
- RETURN_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len, 1);
+ RETURN_RT_STRINGL(intern->u.file.current_line, intern->u.file.current_line_len, ZSTR_DUPLICATE);
} else if (intern->u.file.current_zval) {
RETURN_ZVAL(intern->u.file.current_zval, 1, 0);
}
buf[0] = result;
buf[1] = '\0';
- RETURN_STRINGL(buf, 1, 1);
+ RETURN_RT_STRINGL(buf, 1, ZSTR_DUPLICATE);
}
} /* }}} */