mirror of
https://github.com/php/php-src.git
synced 2024-09-23 02:47:26 +00:00
Fixed unicode support
This commit is contained in:
parent
d00dfb0bcb
commit
4d58b64a89
16
Zend/tests/closure_015.phpt
Normal file
16
Zend/tests/closure_015.phpt
Normal file
@ -0,0 +1,16 @@
|
||||
--TEST--
|
||||
Closure 015: converting to string/unicode
|
||||
--FILE--
|
||||
<?php
|
||||
$x = function() { return 1; };
|
||||
print (string) $x;
|
||||
print "\n";
|
||||
print (unicode) $x;
|
||||
print "\n";
|
||||
print $x;
|
||||
print "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
Closure object
|
||||
Closure object
|
||||
Closure object
|
@ -27,6 +27,7 @@
|
||||
#include "zend_globals.h"
|
||||
|
||||
#define ZEND_INVOKE_FUNC_NAME "__invoke"
|
||||
#define ZEND_CLOSURE_PRINT_NAME "Closure object"
|
||||
|
||||
typedef struct _zend_closure {
|
||||
zend_object std;
|
||||
@ -88,9 +89,12 @@ static int zend_closure_cast_object_tostring(zval *readobj, zval *writeobj, int
|
||||
|
||||
switch (type) {
|
||||
case IS_STRING:
|
||||
INIT_PZVAL(writeobj);
|
||||
ZVAL_STRINGL(writeobj, ZEND_CLOSURE_PRINT_NAME, sizeof(ZEND_CLOSURE_PRINT_NAME)-1, 1);
|
||||
return SUCCESS;
|
||||
case IS_UNICODE:
|
||||
INIT_PZVAL(writeobj);
|
||||
ZVAL_ASCII_STRINGL(writeobj, "Closure object", sizeof("Closure object")-1, ZSTR_DUPLICATE);
|
||||
ZVAL_UNICODEL(writeobj, USTR_MAKE(ZEND_CLOSURE_PRINT_NAME), sizeof(ZEND_CLOSURE_PRINT_NAME)-1, 0);
|
||||
return SUCCESS;
|
||||
default:
|
||||
ce = Z_OBJCE_P(readobj);
|
||||
|
Loading…
Reference in New Issue
Block a user