Replace remaining PHP errors with PHP exceptions

`SWIG_ErrorCode()`, `SWIG_ErrorMsg()`, `SWIG_FAIL()` and `goto thrown;`
are no longer supported (these are really all internal implementation
details and none are documented aside from brief mentions in CHANGES
for the first three).  I wasn't able to find any uses at least in FOSS
code via code search tools.

If you are using these:

Use `SWIG_PHP_Error(code,msg);` instead of `SWIG_ErrorCode(code);
SWIG_ErrorMsg(msg);` (which will throw a PHP exception in SWIG >= 4.1
and do the same as the individual calls in older SWIG).

`SWIG_FAIL();` and `goto thrown;` can typically be replaced with
`SWIG_fail;`.  This will probably also work with older SWIG, but
please test with your wrappers if this is important to you.

Fixes #2014
This commit is contained in:
Olly Betts 2021-05-26 08:56:41 +12:00
commit 17a294cec4
7 changed files with 41 additions and 68 deletions

View file

@ -277,7 +277,7 @@ INT_TYPEMAP(unsigned long long);
if (!(Z_ISREF($input) && Z_ISNULL_P(Z_REFVAL($input)))) {
/* wasn't a pre/ref/thing, OR anything like an int thing */
zend_type_error("Expected reference or NULL for argument $arg of $symname");
SWIG_FAIL;
return;
}
}
force=0;