since php-7.3.0 array_init() and array_init_size() are converted into macros calling zend_new_array(). They are not functions anymore and don't return any values. this change was introduced in following commit: https://github.com/php/php-src/commit/44e0b79ac64b344fc1335c126e548f00d8308602 --- cups-filters-1.21.4/scripting/php/phpcups.c 2018-11-24 19:42:09.905418408 +0100 +++ cups-filters-1.21.4.orig/scripting/php/phpcups.c 2018-11-24 19:40:21.903078482 +0100 @@ -297,7 +297,11 @@ RETURN_NULL(); } +#if PHP_MAJOR_VERSION >= 7 && PHP_MINOR_VERSION >= 3 + array_init(return_value); +#else if (array_init(return_value) == SUCCESS) +#endif { for (i = 0, dest = dests; i < num_dests; i ++, dest ++) { @@ -329,7 +333,11 @@ MAKE_STD_ZVAL(optionsobj); #endif +#if PHP_MAJOR_VERSION >= 7 && PHP_MINOR_VERSION >= 3 + array_init(optionsobj); +#else if (array_init(optionsobj) == SUCCESS) +#endif { for (j = 0, option = dest->options; j < dest->num_options; @@ -383,7 +391,12 @@ RETURN_NULL(); } + +#if PHP_MAJOR_VERSION >= 7 && PHP_MINOR_VERSION >= 3 + array_init(return_value); +#else if (array_init(return_value) == SUCCESS) +#endif { for (i = 0, job = jobs; i < num_jobs; i ++, job ++) {