Skip to content

Commit e2a159f

Browse files
committed
Use new param API in posix
1 parent 0951d7d commit e2a159f

File tree

1 file changed

+74
-61
lines changed

1 file changed

+74
-61
lines changed

ext/posix/posix.c

Lines changed: 74 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,9 @@ ZEND_GET_MODULE(posix)
442442

443443
#define PHP_POSIX_SINGLE_ARG_FUNC(func_name) \
444444
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); \
446448
if (func_name(val) < 0) { \
447449
POSIX_G(last_error) = errno; \
448450
RETURN_FALSE; \
@@ -456,9 +458,10 @@ PHP_FUNCTION(posix_kill)
456458
{
457459
zend_long pid, sig;
458460

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);
462465

463466
if (kill(pid, sig) < 0) {
464467
POSIX_G(last_error) = errno;
@@ -621,9 +624,10 @@ PHP_FUNCTION(posix_setpgid)
621624
{
622625
zend_long pid, pgid;
623626

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);
627631

628632
if (setpgid(pid, pgid) < 0) {
629633
POSIX_G(last_error) = errno;
@@ -640,9 +644,10 @@ PHP_FUNCTION(posix_setpgid)
640644
PHP_FUNCTION(posix_getpgid)
641645
{
642646
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);
646651

647652
if ((val = getpgid(val)) < 0) {
648653
POSIX_G(last_error) = errno;
@@ -659,9 +664,10 @@ PHP_FUNCTION(posix_getpgid)
659664
PHP_FUNCTION(posix_getsid)
660665
{
661666
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);
665671

666672
if ((val = getsid(val)) < 0) {
667673
POSIX_G(last_error) = errno;
@@ -788,9 +794,9 @@ PHP_FUNCTION(posix_ttyname)
788794
zend_long buflen;
789795
#endif
790796

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);
794800

795801
switch (Z_TYPE_P(z_fd)) {
796802
case IS_RESOURCE:
@@ -833,9 +839,9 @@ PHP_FUNCTION(posix_isatty)
833839
zval *z_fd;
834840
int fd;
835841

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);
839845

840846
switch (Z_TYPE_P(z_fd)) {
841847
case IS_RESOURCE:
@@ -895,20 +901,20 @@ PHP_FUNCTION(posix_getcwd)
895901
#ifdef HAVE_MKFIFO
896902
PHP_FUNCTION(posix_mkfifo)
897903
{
898-
char *path;
899-
size_t path_len;
904+
zend_string *path;
900905
zend_long mode;
901906
int result;
902907

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);
906912

907-
if (php_check_open_basedir_ex(path, 0)) {
913+
if (php_check_open_basedir_ex(ZSTR_VAL(path), 0)) {
908914
RETURN_FALSE;
909915
}
910916

911-
result = mkfifo(path, mode);
917+
result = mkfifo(ZSTR_VAL(path), mode);
912918
if (result < 0) {
913919
POSIX_G(last_error) = errno;
914920
RETURN_FALSE;
@@ -924,21 +930,21 @@ PHP_FUNCTION(posix_mkfifo)
924930
#ifdef HAVE_MKNOD
925931
PHP_FUNCTION(posix_mknod)
926932
{
927-
char *path;
928-
size_t path_len;
933+
zend_string *path;
929934
zend_long mode;
930935
zend_long major = 0, minor = 0;
931936
int result;
932-
dev_t php_dev;
937+
dev_t php_dev = 0;
933938

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);
935946

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)) {
942948
RETURN_FALSE;
943949
}
944950

@@ -960,7 +966,7 @@ PHP_FUNCTION(posix_mknod)
960966
}
961967
}
962968

963-
result = mknod(path, mode, php_dev);
969+
result = mknod(ZSTR_VAL(path), mode, php_dev);
964970
if (result < 0) {
965971
POSIX_G(last_error) = errno;
966972
RETURN_FALSE;
@@ -1016,9 +1022,11 @@ PHP_FUNCTION(posix_access)
10161022
size_t filename_len, ret;
10171023
char *filename, *path;
10181024

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);
10221030

10231031
path = expand_filepath(filename, NULL);
10241032
if (!path) {
@@ -1064,9 +1072,9 @@ PHP_FUNCTION(posix_getgrnam)
10641072
char *buf;
10651073
#endif
10661074

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);
10701078

10711079
#if defined(ZTS) && defined(HAVE_GETGRNAM_R) && defined(_SC_GETGR_R_SIZE_MAX)
10721080
buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
@@ -1114,9 +1122,10 @@ PHP_FUNCTION(posix_getgrgid)
11141122
#endif
11151123
struct group *g;
11161124

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+
11201129
#if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX)
11211130

11221131
grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
@@ -1183,9 +1192,9 @@ PHP_FUNCTION(posix_getpwnam)
11831192
char *buf;
11841193
#endif
11851194

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);
11891198

11901199
#if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
11911200
buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
@@ -1233,9 +1242,10 @@ PHP_FUNCTION(posix_getpwuid)
12331242
#endif
12341243
struct passwd *pw;
12351244

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+
12391249
#if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
12401250
pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
12411251
if (pwbuflen < 1) {
@@ -1395,9 +1405,11 @@ PHP_FUNCTION(posix_setrlimit)
13951405
struct rlimit rl;
13961406
zend_long res, cur, max;
13971407

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);
14011413

14021414
rl.rlim_cur = cur;
14031415
rl.rlim_max = max;
@@ -1430,9 +1442,9 @@ PHP_FUNCTION(posix_strerror)
14301442
{
14311443
zend_long error;
14321444

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);
14361448

14371449
RETURN_STRING(strerror(error));
14381450
}
@@ -1449,9 +1461,10 @@ PHP_FUNCTION(posix_initgroups)
14491461
char *name;
14501462
size_t name_len;
14511463

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);
14551468

14561469
if (name_len == 0) {
14571470
RETURN_FALSE;

0 commit comments

Comments
 (0)