@@ -176,11 +176,17 @@ ZEND_END_ARG_INFO()
176176
177177ZEND_BEGIN_ARG_INFO_EX (xls_put_csv_arginfo , 0 , 0 , 1 )
178178 ZEND_ARG_INFO (0 , fp )
179+ ZEND_ARG_INFO (0 , delimiter_str )
180+ ZEND_ARG_INFO (0 , enclosure_str )
181+ ZEND_ARG_INFO (0 , escape_str )
179182ZEND_END_ARG_INFO ()
180183
181184ZEND_BEGIN_ARG_INFO_EX (xls_put_csv_callback_arginfo , 0 , 0 , 2 )
182185 ZEND_ARG_INFO (0 , callback )
183186 ZEND_ARG_INFO (0 , fp )
187+ ZEND_ARG_INFO (0 , delimiter_str )
188+ ZEND_ARG_INFO (0 , enclosure_str )
189+ ZEND_ARG_INFO (0 , escape_str )
184190ZEND_END_ARG_INFO ()
185191
186192ZEND_BEGIN_ARG_INFO_EX (xls_set_type_arginfo , 0 , 0 , 1 )
@@ -991,10 +997,16 @@ PHP_METHOD(vtiful_xls, setType)
991997 */
992998PHP_METHOD (vtiful_xls , putCSV )
993999{
994- zval * fp = NULL , * zv_type = NULL ;;
1000+ zval * fp = NULL , * zv_type = NULL ;
1001+ char * delimiter_str = NULL , * enclosure_str = NULL , * escape_str = NULL ;
1002+ size_t delimiter_str_len = 0 , enclosure_str_len = 0 , escape_str_len = 0 ;
9951003
996- ZEND_PARSE_PARAMETERS_START (1 , 1 )
1004+ ZEND_PARSE_PARAMETERS_START (1 , 4 )
9971005 Z_PARAM_RESOURCE (fp )
1006+ Z_PARAM_OPTIONAL
1007+ Z_PARAM_STRING (delimiter_str , delimiter_str_len )
1008+ Z_PARAM_STRING (enclosure_str , enclosure_str_len )
1009+ Z_PARAM_STRING (escape_str ,escape_str_len )
9981010 ZEND_PARSE_PARAMETERS_END ();
9991011
10001012 xls_object * obj = Z_XLS_P (getThis ());
@@ -1005,7 +1017,10 @@ PHP_METHOD(vtiful_xls, putCSV)
10051017
10061018 zv_type = zend_read_property (vtiful_xls_ce , getThis (), ZEND_STRL (V_XLS_TYPE ), 0 , NULL );
10071019
1008- if (xlsx_to_csv (fp , obj -> read_ptr .sheet_t , zv_type , READ_SKIP_ROW , NULL , NULL ) == XLSWRITER_TRUE ) {
1020+ if (xlsx_to_csv (
1021+ fp , delimiter_str , delimiter_str_len , enclosure_str , enclosure_str_len , escape_str , escape_str_len ,
1022+ obj -> read_ptr .sheet_t , zv_type , READ_SKIP_ROW , NULL , NULL
1023+ ) == XLSWRITER_TRUE ) {
10091024 RETURN_TRUE ;
10101025 }
10111026
@@ -1018,12 +1033,18 @@ PHP_METHOD(vtiful_xls, putCSV)
10181033PHP_METHOD (vtiful_xls , putCSVCallback )
10191034{
10201035 zval * fp = NULL , * zv_type = NULL ;
1021- zend_fcall_info fci = empty_fcall_info ;
1036+ zend_fcall_info fci = empty_fcall_info ;
10221037 zend_fcall_info_cache fci_cache = empty_fcall_info_cache ;
1038+ char * delimiter_str = NULL , * enclosure_str = NULL , * escape_str = NULL ;
1039+ size_t delimiter_str_len = 0 , enclosure_str_len = 0 , escape_str_len = 0 ;
10231040
1024- ZEND_PARSE_PARAMETERS_START (2 , 2 )
1041+ ZEND_PARSE_PARAMETERS_START (2 , 5 )
10251042 Z_PARAM_FUNC (fci , fci_cache )
10261043 Z_PARAM_RESOURCE (fp )
1044+ Z_PARAM_OPTIONAL
1045+ Z_PARAM_STRING (delimiter_str , delimiter_str_len )
1046+ Z_PARAM_STRING (enclosure_str , enclosure_str_len )
1047+ Z_PARAM_STRING (escape_str ,escape_str_len )
10271048 ZEND_PARSE_PARAMETERS_END ();
10281049
10291050 xls_object * obj = Z_XLS_P (getThis ());
@@ -1034,7 +1055,10 @@ PHP_METHOD(vtiful_xls, putCSVCallback)
10341055
10351056 zv_type = zend_read_property (vtiful_xls_ce , getThis (), ZEND_STRL (V_XLS_TYPE ), 0 , NULL );
10361057
1037- if (xlsx_to_csv (fp , obj -> read_ptr .sheet_t , zv_type , READ_SKIP_ROW , & fci , & fci_cache ) == XLSWRITER_TRUE ) {
1058+ if (xlsx_to_csv (
1059+ fp , delimiter_str , delimiter_str_len , enclosure_str , enclosure_str_len , escape_str , escape_str_len ,
1060+ obj -> read_ptr .sheet_t , zv_type , READ_SKIP_ROW , & fci , & fci_cache
1061+ ) == XLSWRITER_TRUE ) {
10381062 RETURN_TRUE ;
10391063 }
10401064
0 commit comments