Skip to content

Commit d778788

Browse files
Merge pull request #326 from atvise/fixed_variable_length_arrays
Fixed VLA definition because not every compiler supports that
2 parents d2dc9b7 + 1630d96 commit d778788

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

zend/parametersimpl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ParametersImpl : public Parameters
2929
reserve(argc);
3030

3131
// array to store all the arguments in
32-
zval arguments[argc];
32+
zval* arguments = static_cast<zval*>(alloca(argc * sizeof(zval)));
3333

3434
// retrieve the arguments
3535
zend_get_parameters_array_ex(argc, arguments);

zend/value.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ Value Value::call(const char *name)
903903
Value Value::exec(int argc, Value *argv) const
904904
{
905905
// array of zvals to execute
906-
zval params[argc];
906+
zval* params = static_cast<zval*>(alloca(argc * sizeof(zval)));
907907

908908
// convert all the values
909909
for(int i = 0; i < argc; i++) { params[i] = *argv[i]._val; }
@@ -925,7 +925,7 @@ Value Value::exec(const char *name, int argc, Value *argv) const
925925
Value method(name);
926926

927927
// array of zvals to execute
928-
zval params[argc];
928+
zval* params = static_cast<zval*>(alloca(argc * sizeof(zval)));
929929

930930
// convert all the values
931931
for(int i = 0; i < argc; i++) { params[i] = *argv[i]._val; }
@@ -947,7 +947,7 @@ Value Value::exec(const char *name, int argc, Value *argv)
947947
Value method(name);
948948

949949
// array of zvals to execute
950-
zval params[argc];
950+
zval* params = static_cast<zval*>(alloca(argc * sizeof(zval)));
951951

952952
// convert all the values
953953
for(int i = 0; i < argc; i++) { params[i] = *argv[i]._val; }

0 commit comments

Comments
 (0)