Skip to content

Commit 717335e

Browse files
committed
Fixed macro generation for variadics, which don't have a default value
1 parent 12290b7 commit 717335e

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

Zend/zend_API.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ typedef struct _zend_fcall_info_cache {
131131
{ #name, ZEND_TYPE_INIT_MASK(type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
132132
#define ZEND_ARG_OBJ_TYPE_MASK(pass_by_ref, name, class_name, type_mask, default_value) \
133133
{ #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
134-
#define ZEND_ARG_VARIADIC_OBJ_TYPE_MASK(pass_by_ref, name, class_name, type_mask, default_value) \
135-
{ #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), default_value },
134+
#define ZEND_ARG_VARIADIC_OBJ_TYPE_MASK(pass_by_ref, name, class_name, type_mask) \
135+
{ #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), NULL },
136136

137137
/* Arginfo structures with object type information */
138138
#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, class_name, allow_null) \

build/gen_stub.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -2735,10 +2735,10 @@ function funcInfoToCode(FuncInfo $funcInfo): string {
27352735
$arginfoType = $argType->toArginfoType();
27362736
if ($arginfoType->hasClassType()) {
27372737
$code .= sprintf(
2738-
"\tZEND_%s_OBJ_TYPE_MASK(%s, %s, %s, %s, %s)\n",
2738+
"\tZEND_%s_OBJ_TYPE_MASK(%s, %s, %s, %s%s)\n",
27392739
$argKind, $argInfo->getSendByString(), $argInfo->name,
27402740
$arginfoType->toClassTypeString(), $arginfoType->toTypeMask(),
2741-
$argInfo->getDefaultValueAsArginfoString()
2741+
!$argInfo->isVariadic ? ", " . $argInfo->getDefaultValueAsArginfoString() : ""
27422742
);
27432743
} else {
27442744
$code .= sprintf(

0 commit comments

Comments
 (0)