diff options
| author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-02-07 18:04:52 +0100 |
|---|---|---|
| committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-02-07 18:05:10 +0100 |
| commit | 7f86f9972e8ed79e8157d38e1f782d7dec2c7472 (patch) | |
| tree | 769cf3190f394370cd00fe6cf38c6290cdd81481 /ext/com_dotnet | |
| parent | cd5591a28d738b1b00c96c0e6cae91b490dba56d (diff) | |
| parent | b9738f5802d15ba5d593ae09a6e63e49f9d7880f (diff) | |
| download | php-git-7f86f9972e8ed79e8157d38e1f782d7dec2c7472.tar.gz | |
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79242: COM error constants don't match com_exception codes
Diffstat (limited to 'ext/com_dotnet')
| -rw-r--r-- | ext/com_dotnet/com_extension.c | 6 | ||||
| -rw-r--r-- | ext/com_dotnet/tests/bug79242.phpt | 22 |
2 files changed, 27 insertions, 1 deletions
diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index 7ff0fd0ebd..c77d089188 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -341,11 +341,15 @@ PHP_MINIT_FUNCTION(com_dotnet) #define COM_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_CS|CONST_PERSISTENT) -#define COM_ERR_CONST(x) { \ +#if SIZEOF_ZEND_LONG == 8 +# define COM_ERR_CONST(x) { \ zend_long __tmp; \ ULongToIntPtr(x, &__tmp); \ REGISTER_LONG_CONSTANT(#x, __tmp, CONST_CS|CONST_PERSISTENT); \ } +#else +# define COM_ERR_CONST COM_CONST +#endif COM_CONST(CLSCTX_INPROC_SERVER); COM_CONST(CLSCTX_INPROC_HANDLER); diff --git a/ext/com_dotnet/tests/bug79242.phpt b/ext/com_dotnet/tests/bug79242.phpt new file mode 100644 index 0000000000..46c5d8af3b --- /dev/null +++ b/ext/com_dotnet/tests/bug79242.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #79242 (COM error constants don't match com_exception codes) +--SKIPIF-- +<?php +if (!extension_loaded('com_dotnet')) die('skip com_dotnet extension not available'); +if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platforms only"); +?> +--FILE-- +<?php +var_dump( + DISP_E_DIVBYZERO, + DISP_E_OVERFLOW, + DISP_E_BADINDEX, + MK_E_UNAVAILABLE +); +?> +--EXPECT-- +int(-2147352558) +int(-2147352566) +int(-2147352565) +int(-2147221021) + |
