Skip to content

Commit 6c144a6

Browse files
committed
feat: named arguments support (PHP 8.0+)
1 parent e061583 commit 6c144a6

File tree

1 file changed

+48
-2
lines changed

1 file changed

+48
-2
lines changed

zstd.c

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,43 +316,89 @@ static php_zstd_context* php_zstd_output_handler_context_init(void)
316316
#define php_zstd_output_handler_context_free(ctx) php_zstd_context_free(ctx)
317317

318318
/* One-shot functions */
319+
#if PHP_VERSION_ID >= 80000
320+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zstd_compress, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
321+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
322+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, level, IS_LONG, 0, "ZSTD_COMPRESS_LEVEL_DEFAULT")
323+
#else
319324
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_compress, 0, 0, 1)
320325
ZEND_ARG_INFO(0, data)
321326
ZEND_ARG_INFO(0, level)
327+
#endif
322328
ZEND_END_ARG_INFO()
323329

330+
#if PHP_VERSION_ID >= 80000
331+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zstd_uncompress, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
332+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
333+
#else
324334
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_uncompress, 0, 0, 1)
325335
ZEND_ARG_INFO(0, data)
336+
#endif
326337
ZEND_END_ARG_INFO()
327338

339+
#if PHP_VERSION_ID >= 80000
340+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zstd_compress_dict, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
341+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
342+
ZEND_ARG_TYPE_INFO(0, dict, IS_STRING, 0)
343+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, level, IS_LONG, 0, "ZSTD_COMPRESS_LEVEL_DEFAULT")
344+
#else
328345
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_compress_dict, 0, 0, 2)
329346
ZEND_ARG_INFO(0, data)
330-
ZEND_ARG_INFO(0, dictBuffer)
347+
ZEND_ARG_INFO(0, dict)
331348
ZEND_ARG_INFO(0, level)
349+
#endif
332350
ZEND_END_ARG_INFO()
333351

352+
#if PHP_VERSION_ID >= 80000
353+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zstd_uncompress_dict, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
354+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
355+
ZEND_ARG_TYPE_INFO(0, dict, IS_STRING, 0)
356+
#else
334357
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_uncompress_dict, 0, 0, 2)
335358
ZEND_ARG_INFO(0, data)
336-
ZEND_ARG_INFO(0, dictBuffer)
359+
ZEND_ARG_INFO(0, dict)
360+
#endif
337361
ZEND_END_ARG_INFO()
338362

339363
/* Incremental functions */
364+
#if PHP_VERSION_ID >= 80000
365+
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_zstd_compress_init, 0, 0, Zstd\\Compress\\Context, MAY_BE_FALSE)
366+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, level, IS_LONG, 0, "ZSTD_COMPRESS_LEVEL_DEFAULT")
367+
#else
340368
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_compress_init, 0, 0, 0)
341369
ZEND_ARG_INFO(0, level)
370+
#endif
342371
ZEND_END_ARG_INFO()
343372

373+
#if PHP_VERSION_ID >= 80000
374+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zstd_compress_add, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
375+
ZEND_ARG_OBJ_INFO(0, context, Zstd\\Compress\\Context, 0)
376+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
377+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, end, _IS_BOOL, 0, "false")
378+
#else
344379
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_compress_add, 0, 0, 2)
345380
ZEND_ARG_INFO(0, context)
346381
ZEND_ARG_INFO(0, data)
347382
ZEND_ARG_INFO(0, end)
383+
#endif
348384
ZEND_END_ARG_INFO()
349385

386+
#if PHP_VERSION_ID >= 80000
387+
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_zstd_uncompress_init, 0, 0, Zstd\\UnCompress\\Context, MAY_BE_FALSE)
388+
#else
350389
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_uncompress_init, 0, 0, 0)
390+
#endif
351391
ZEND_END_ARG_INFO()
352392

393+
#if PHP_VERSION_ID >= 80000
394+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zstd_uncompress_add, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
395+
ZEND_ARG_OBJ_INFO(0, context, Zstd\\UnCompress\\Context, 0)
396+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
397+
#else
353398
ZEND_BEGIN_ARG_INFO_EX(arginfo_zstd_uncompress_add, 0, 0, 2)
354399
ZEND_ARG_INFO(0, context)
355400
ZEND_ARG_INFO(0, data)
401+
#endif
356402
ZEND_END_ARG_INFO()
357403

358404
#if PHP_VERSION_ID >= 80000

0 commit comments

Comments
 (0)