[PHP] Fix the constant typemaps for SWIGTYPE, etc - previously
these used the wrong name for renamed constants. Add autodoc_runme.php to the testsuite as a regression test for this. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13062 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
6182919511
commit
fcb46fe2fa
3 changed files with 16 additions and 5 deletions
|
|
@ -5,6 +5,11 @@ See the RELEASENOTES file for a summary of changes in each release.
|
|||
Version 2.0.7 (in progress)
|
||||
===========================
|
||||
|
||||
2012-05-10: olly
|
||||
[PHP] Fix the constant typemaps for SWIGTYPE, etc - previously
|
||||
these used the wrong name for renamed constants. Add
|
||||
autodoc_runme.php to the testsuite as a regression test for this.
|
||||
|
||||
2012-05-02: ianlancetaylor
|
||||
[Go] Remove compatibility support for gccgo 4.6. Using
|
||||
SWIG with gccgo will now require gccgo 4.7. Using SWIG
|
||||
|
|
|
|||
9
Examples/test-suite/php/autodoc_runme.php
Normal file
9
Examples/test-suite/php/autodoc_runme.php
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
require "tests.php";
|
||||
require "autodoc.php";
|
||||
// In 2.0.6 and earlier, the constant was misnamed.
|
||||
if (gettype(autodoc::FUNC_CB_CALLBACK) !== 'resource') die("autodoc::FUNC_CB_CALLBACK not a resource\n");
|
||||
|
||||
check::done();
|
||||
?>
|
||||
|
|
@ -32,17 +32,14 @@
|
|||
%typemap(consttab) SWIGTYPE *,
|
||||
SWIGTYPE &,
|
||||
SWIGTYPE [] {
|
||||
/* This actually registers it as a global variable and constant. I don't
|
||||
* like it, but I can't figure out the zend_constant code... */
|
||||
zval *z_var;
|
||||
MAKE_STD_ZVAL(z_var);
|
||||
SWIG_SetPointerZval(z_var, (void*)$value, $1_descriptor, 0);
|
||||
/* zend_hash_add(&EG(symbol_table), "$1", sizeof("$1"), (void *)&z_var,sizeof(zval *), NULL); */
|
||||
zend_constant c;
|
||||
c.value = *z_var;
|
||||
zval_copy_ctor(&c.value);
|
||||
size_t len = sizeof("$1") - 1;
|
||||
c.name = zend_strndup("$1", len);
|
||||
size_t len = sizeof("$symname") - 1;
|
||||
c.name = zend_strndup("$symname", len);
|
||||
c.name_len = len+1;
|
||||
c.flags = CONST_CS | CONST_PERSISTENT;
|
||||
c.module_number = module_number;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue