Since PHP 8.4 is supposed to be built with VS17, we need to switch to
windows-2022 runners, but unfortunately the VC15 component is not pre-
installed there, so we do that manually (what unfortunately takes a
very long time, but it's only for one of the builds).
If the file already has been deleted, or never have been created in the
first place, `unlink()` would throw a warning, and the test case might
be marked as borked. We silence the call to avoid that.
When reading a field descriptor array, we must not assume to actually
read the full array, but rather be prepared to only read the field
terminator. We also must not return arbitrary values, since the caller
is not prepared for that; only `0`, `2` and negative values are
supported.
We must not modify any elements of the passed record array. Since
there is actually no need to modify the zval, we work with zend_strings
in the first place, what even simplifies the code a bit.
dbase is a legacy extension, so backward compatibility is more important
than improved features. While having full fledged arginfo even under
PHP 7 would be nice, this imposes a slight BC break, so we revert to the
old manually generated arginfo for PHP 7, and use the arginfo generated
from the stubs only under PHP 8.
git-svn-id: http://svn.php.net/repository/pecl/dbase/trunk@350762 c90b9560-bf6c-de11-be94-00142212c4b1
We can't actually use that since the Git migration is pending, but the
scripts are helpful for local development nonetheless.
git-svn-id: http://svn.php.net/repository/pecl/dbase/trunk@350760 c90b9560-bf6c-de11-be94-00142212c4b1
The dbase extension has been "recently" unbundled, so we should no longer
claim that it would be bundled. Also it is a PHP extension, not a library.
git-svn-id: http://svn.php.net/repository/pecl/dbase/trunk@348257 c90b9560-bf6c-de11-be94-00142212c4b1
We have to gracefully bail out whenever read() failed to read the
desired number of bytes, not only when it didn't read anything.
git-svn-id: http://svn.php.net/repository/pecl/dbase/trunk@348189 c90b9560-bf6c-de11-be94-00142212c4b1
We must not assume that `value` has the desired type, but use `tmp_value` instead.
We also make sure to `zval_dtor` the `tmp_value` in case of failure (although
`zval_dtor`ing scalars is not strictly neccessary at all).
git-svn-id: http://svn.php.net/repository/pecl/dbase/trunk@347492 c90b9560-bf6c-de11-be94-00142212c4b1
We must not convert elements of arrays directly, which have been passed
as arguments; instead we need to convert copies of those elements.
git-svn-id: http://svn.php.net/repository/pecl/dbase/trunk@347491 c90b9560-bf6c-de11-be94-00142212c4b1