@@ -442,7 +442,9 @@ ZEND_GET_MODULE(posix)
442
442
443
443
#define PHP_POSIX_SINGLE_ARG_FUNC (func_name ) \
444
444
zend_long val; \
445
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &val) == FAILURE) RETURN_FALSE; \
445
+ ZEND_PARSE_PARAMETERS_START(1, 1) \
446
+ Z_PARAM_LONG(val) \
447
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); \
446
448
if (func_name(val) < 0) { \
447
449
POSIX_G(last_error) = errno; \
448
450
RETURN_FALSE; \
@@ -456,9 +458,10 @@ PHP_FUNCTION(posix_kill)
456
458
{
457
459
zend_long pid , sig ;
458
460
459
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "ll" , & pid , & sig ) == FAILURE ) {
460
- RETURN_FALSE ;
461
- }
461
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
462
+ Z_PARAM_LONG (pid )
463
+ Z_PARAM_LONG (sig )
464
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
462
465
463
466
if (kill (pid , sig ) < 0 ) {
464
467
POSIX_G (last_error ) = errno ;
@@ -621,9 +624,10 @@ PHP_FUNCTION(posix_setpgid)
621
624
{
622
625
zend_long pid , pgid ;
623
626
624
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "ll" , & pid , & pgid ) == FAILURE ) {
625
- RETURN_FALSE ;
626
- }
627
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
628
+ Z_PARAM_LONG (pid )
629
+ Z_PARAM_LONG (pgid )
630
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
627
631
628
632
if (setpgid (pid , pgid ) < 0 ) {
629
633
POSIX_G (last_error ) = errno ;
@@ -640,9 +644,10 @@ PHP_FUNCTION(posix_setpgid)
640
644
PHP_FUNCTION (posix_getpgid )
641
645
{
642
646
zend_long val ;
643
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & val ) == FAILURE ) {
644
- RETURN_FALSE ;
645
- }
647
+
648
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
649
+ Z_PARAM_LONG (val )
650
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
646
651
647
652
if ((val = getpgid (val )) < 0 ) {
648
653
POSIX_G (last_error ) = errno ;
@@ -659,9 +664,10 @@ PHP_FUNCTION(posix_getpgid)
659
664
PHP_FUNCTION (posix_getsid )
660
665
{
661
666
zend_long val ;
662
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & val ) == FAILURE ) {
663
- RETURN_FALSE ;
664
- }
667
+
668
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
669
+ Z_PARAM_LONG (val )
670
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
665
671
666
672
if ((val = getsid (val )) < 0 ) {
667
673
POSIX_G (last_error ) = errno ;
@@ -788,9 +794,9 @@ PHP_FUNCTION(posix_ttyname)
788
794
zend_long buflen ;
789
795
#endif
790
796
791
- if ( zend_parse_parameters ( ZEND_NUM_ARGS (), "z" , & z_fd ) == FAILURE ) {
792
- RETURN_FALSE ;
793
- }
797
+ ZEND_PARSE_PARAMETERS_START ( 1 , 1 )
798
+ Z_PARAM_ZVAL_DEREF ( z_fd )
799
+ ZEND_PARSE_PARAMETERS_END_EX ( RETURN_FALSE );
794
800
795
801
switch (Z_TYPE_P (z_fd )) {
796
802
case IS_RESOURCE :
@@ -833,9 +839,9 @@ PHP_FUNCTION(posix_isatty)
833
839
zval * z_fd ;
834
840
int fd ;
835
841
836
- if ( zend_parse_parameters ( ZEND_NUM_ARGS (), "z" , & z_fd ) == FAILURE ) {
837
- RETURN_FALSE ;
838
- }
842
+ ZEND_PARSE_PARAMETERS_START ( 1 , 1 )
843
+ Z_PARAM_ZVAL_DEREF ( z_fd )
844
+ ZEND_PARSE_PARAMETERS_END_EX ( RETURN_FALSE );
839
845
840
846
switch (Z_TYPE_P (z_fd )) {
841
847
case IS_RESOURCE :
@@ -895,20 +901,20 @@ PHP_FUNCTION(posix_getcwd)
895
901
#ifdef HAVE_MKFIFO
896
902
PHP_FUNCTION (posix_mkfifo )
897
903
{
898
- char * path ;
899
- size_t path_len ;
904
+ zend_string * path ;
900
905
zend_long mode ;
901
906
int result ;
902
907
903
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "pl" , & path , & path_len , & mode ) == FAILURE ) {
904
- RETURN_FALSE ;
905
- }
908
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
909
+ Z_PARAM_PATH_STR (path )
910
+ Z_PARAM_LONG (mode )
911
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
906
912
907
- if (php_check_open_basedir_ex (path , 0 )) {
913
+ if (php_check_open_basedir_ex (ZSTR_VAL ( path ) , 0 )) {
908
914
RETURN_FALSE ;
909
915
}
910
916
911
- result = mkfifo (path , mode );
917
+ result = mkfifo (ZSTR_VAL ( path ) , mode );
912
918
if (result < 0 ) {
913
919
POSIX_G (last_error ) = errno ;
914
920
RETURN_FALSE ;
@@ -924,21 +930,21 @@ PHP_FUNCTION(posix_mkfifo)
924
930
#ifdef HAVE_MKNOD
925
931
PHP_FUNCTION (posix_mknod )
926
932
{
927
- char * path ;
928
- size_t path_len ;
933
+ zend_string * path ;
929
934
zend_long mode ;
930
935
zend_long major = 0 , minor = 0 ;
931
936
int result ;
932
- dev_t php_dev ;
937
+ dev_t php_dev = 0 ;
933
938
934
- php_dev = 0 ;
939
+ ZEND_PARSE_PARAMETERS_START (2 , 4 )
940
+ Z_PARAM_PATH_STR (path )
941
+ Z_PARAM_LONG (mode )
942
+ Z_PARAM_OPTIONAL
943
+ Z_PARAM_LONG (major )
944
+ Z_PARAM_LONG (minor )
945
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
935
946
936
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "pl|ll" , & path , & path_len ,
937
- & mode , & major , & minor ) == FAILURE ) {
938
- RETURN_FALSE ;
939
- }
940
-
941
- if (php_check_open_basedir_ex (path , 0 )) {
947
+ if (php_check_open_basedir_ex (ZSTR_VAL (path ), 0 )) {
942
948
RETURN_FALSE ;
943
949
}
944
950
@@ -960,7 +966,7 @@ PHP_FUNCTION(posix_mknod)
960
966
}
961
967
}
962
968
963
- result = mknod (path , mode , php_dev );
969
+ result = mknod (ZSTR_VAL ( path ) , mode , php_dev );
964
970
if (result < 0 ) {
965
971
POSIX_G (last_error ) = errno ;
966
972
RETURN_FALSE ;
@@ -1016,9 +1022,11 @@ PHP_FUNCTION(posix_access)
1016
1022
size_t filename_len , ret ;
1017
1023
char * filename , * path ;
1018
1024
1019
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "p|l" , & filename , & filename_len , & mode ) == FAILURE ) {
1020
- RETURN_FALSE ;
1021
- }
1025
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
1026
+ Z_PARAM_PATH (filename , filename_len )
1027
+ Z_PARAM_OPTIONAL
1028
+ Z_PARAM_LONG (mode )
1029
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
1022
1030
1023
1031
path = expand_filepath (filename , NULL );
1024
1032
if (!path ) {
@@ -1064,9 +1072,9 @@ PHP_FUNCTION(posix_getgrnam)
1064
1072
char * buf ;
1065
1073
#endif
1066
1074
1067
- if ( zend_parse_parameters ( ZEND_NUM_ARGS (), "s" , & name , & name_len ) == FAILURE ) {
1068
- RETURN_FALSE ;
1069
- }
1075
+ ZEND_PARSE_PARAMETERS_START ( 1 , 1 )
1076
+ Z_PARAM_STRING ( name , name_len )
1077
+ ZEND_PARSE_PARAMETERS_END_EX ( RETURN_FALSE );
1070
1078
1071
1079
#if defined(ZTS ) && defined(HAVE_GETGRNAM_R ) && defined(_SC_GETGR_R_SIZE_MAX )
1072
1080
buflen = sysconf (_SC_GETGR_R_SIZE_MAX );
@@ -1114,9 +1122,10 @@ PHP_FUNCTION(posix_getgrgid)
1114
1122
#endif
1115
1123
struct group * g ;
1116
1124
1117
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & gid ) == FAILURE ) {
1118
- RETURN_FALSE ;
1119
- }
1125
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
1126
+ Z_PARAM_LONG (gid )
1127
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
1128
+
1120
1129
#if defined(ZTS ) && defined(HAVE_GETGRGID_R ) && defined(_SC_GETGR_R_SIZE_MAX )
1121
1130
1122
1131
grbuflen = sysconf (_SC_GETGR_R_SIZE_MAX );
@@ -1183,9 +1192,9 @@ PHP_FUNCTION(posix_getpwnam)
1183
1192
char * buf ;
1184
1193
#endif
1185
1194
1186
- if ( zend_parse_parameters ( ZEND_NUM_ARGS (), "s" , & name , & name_len ) == FAILURE ) {
1187
- RETURN_FALSE ;
1188
- }
1195
+ ZEND_PARSE_PARAMETERS_START ( 1 , 1 )
1196
+ Z_PARAM_STRING ( name , name_len )
1197
+ ZEND_PARSE_PARAMETERS_END_EX ( RETURN_FALSE );
1189
1198
1190
1199
#if defined(ZTS ) && defined(_SC_GETPW_R_SIZE_MAX ) && defined(HAVE_GETPWNAM_R )
1191
1200
buflen = sysconf (_SC_GETPW_R_SIZE_MAX );
@@ -1233,9 +1242,10 @@ PHP_FUNCTION(posix_getpwuid)
1233
1242
#endif
1234
1243
struct passwd * pw ;
1235
1244
1236
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & uid ) == FAILURE ) {
1237
- RETURN_FALSE ;
1238
- }
1245
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
1246
+ Z_PARAM_LONG (uid )
1247
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
1248
+
1239
1249
#if defined(ZTS ) && defined(_SC_GETPW_R_SIZE_MAX ) && defined(HAVE_GETPWUID_R )
1240
1250
pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX );
1241
1251
if (pwbuflen < 1 ) {
@@ -1395,9 +1405,11 @@ PHP_FUNCTION(posix_setrlimit)
1395
1405
struct rlimit rl ;
1396
1406
zend_long res , cur , max ;
1397
1407
1398
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lll" , & res , & cur , & max ) == FAILURE ) {
1399
- RETURN_FALSE ;
1400
- }
1408
+ ZEND_PARSE_PARAMETERS_START (3 , 3 )
1409
+ Z_PARAM_LONG (res )
1410
+ Z_PARAM_LONG (cur )
1411
+ Z_PARAM_LONG (max )
1412
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
1401
1413
1402
1414
rl .rlim_cur = cur ;
1403
1415
rl .rlim_max = max ;
@@ -1430,9 +1442,9 @@ PHP_FUNCTION(posix_strerror)
1430
1442
{
1431
1443
zend_long error ;
1432
1444
1433
- if ( zend_parse_parameters ( ZEND_NUM_ARGS (), "l" , & error ) == FAILURE ) {
1434
- RETURN_FALSE ;
1435
- }
1445
+ ZEND_PARSE_PARAMETERS_START ( 1 , 1 )
1446
+ Z_PARAM_LONG ( error )
1447
+ ZEND_PARSE_PARAMETERS_END_EX ( RETURN_FALSE );
1436
1448
1437
1449
RETURN_STRING (strerror (error ));
1438
1450
}
@@ -1449,9 +1461,10 @@ PHP_FUNCTION(posix_initgroups)
1449
1461
char * name ;
1450
1462
size_t name_len ;
1451
1463
1452
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "sl" , & name , & name_len , & basegid ) == FAILURE ) {
1453
- RETURN_FALSE ;
1454
- }
1464
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
1465
+ Z_PARAM_STRING (name , name_len )
1466
+ Z_PARAM_LONG (basegid )
1467
+ ZEND_PARSE_PARAMETERS_END_EX (RETURN_FALSE );
1455
1468
1456
1469
if (name_len == 0 ) {
1457
1470
RETURN_FALSE ;
0 commit comments