[PHP-CVS] cvs: php-src /ext/posix posix.c
gwynne Tue Jun 23 21:11:12 2009 UTC Modified files: /php-src/ext/posix posix.c Log: add S_IRWXU and friends as defined POSIX constants http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.109r2=1.110diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.109 php-src/ext/posix/posix.c:1.110 --- php-src/ext/posix/posix.c:1.109 Sat Jun 6 02:40:14 2009 +++ php-src/ext/posix/posix.c Tue Jun 23 21:11:12 2009 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.109 2009/06/06 02:40:14 mattwil Exp $ */ +/* $Id: posix.c,v 1.110 2009/06/23 21:11:12 gwynne Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -310,7 +310,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.109 $); + php_info_print_table_row(2, Revision, $Revision: 1.110 $); php_info_print_table_end(); } /* }}} */ @@ -332,6 +332,12 @@ #ifdef S_IFREG REGISTER_LONG_CONSTANT(POSIX_S_IFREG, S_IFREG, CONST_CS | CONST_PERSISTENT); #endif +#ifdef S_IFDIR + REGISTER_LONG_CONSTANT(POSIX_S_IFDIR, S_IFDIR, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef S_IFLNK + REGISTER_LONG_CONSTANT(POSIX_S_IFLNK, S_IFLNK, CONST_CS | CONST_PERSISTENT); +#endif #ifdef S_IFCHR REGISTER_LONG_CONSTANT(POSIX_S_IFCHR, S_IFCHR, CONST_CS | CONST_PERSISTENT); #endif @@ -344,7 +350,35 @@ #ifdef S_IFSOCK REGISTER_LONG_CONSTANT(POSIX_S_IFSOCK, S_IFSOCK, CONST_CS | CONST_PERSISTENT); #endif - +#ifdef S_IFWHT + REGISTER_LONG_CONSTANT(POSIX_S_IFWHT, S_IFWHT, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef S_IRWXU + REGISTER_LONG_CONSTANT(POSIX_S_IRWXU, S_IRWXU, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IRUSR, S_IRUSR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IWUSR, S_IWUSR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IXUSR, S_IXUSR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IRWXG, S_IRWXG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IRGRP, S_IRGRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IWGRP, S_IWGRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IXGRP, S_IXGRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IRWXO, S_IRWXO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IROTH, S_IROTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IWOTH, S_IWOTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(POSIX_S_IXOTH, S_IXOTH, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef S_ISUID + REGISTER_LONG_CONSTANT(POSIX_S_ISUID, S_ISUID, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef S_ISGID + REGISTER_LONG_CONSTANT(POSIX_S_ISGID, S_ISGID, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef S_ISVTX + REGISTER_LONG_CONSTANT(POSIX_S_ISVTX, S_ISVTX, CONST_CS | CONST_PERSISTENT); +#endif +#ifdef S_ISTXT + REGISTER_LONG_CONSTANT(POSIX_S_ISTXT, S_ISTXT, CONST_CS | CONST_PERSISTENT); +#endif return SUCCESS; } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
felipe Mon Jun 23 17:54:14 2008 UTC Modified files: /php-src/ext/posix posix.c Log: - MFB: Added arginfo http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.101r2=1.102diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.101 php-src/ext/posix/posix.c:1.102 --- php-src/ext/posix/posix.c:1.101 Mon Jun 23 01:16:49 2008 +++ php-src/ext/posix/posix.c Mon Jun 23 17:54:14 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.101 2008/06/23 01:16:49 felipe Exp $ */ +/* $Id: posix.c,v 1.102 2008/06/23 17:54:14 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -56,91 +56,284 @@ ZEND_DECLARE_MODULE_GLOBALS(posix) static PHP_MINFO_FUNCTION(posix); +/* {{{ arginfo */ +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_kill, 0, 0, 2) + ZEND_ARG_INFO(0, pid) + ZEND_ARG_INFO(0, sig) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getpid, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getppid, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getuid, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setuid, 0, 0, 1) + ZEND_ARG_INFO(0, uid) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_geteuid, 0) +ZEND_END_ARG_INFO() + +#ifdef HAVE_SETEUID +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_seteuid, 0, 0, 1) + ZEND_ARG_INFO(0, uid) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getgid, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setgid, 0, 0, 1) + ZEND_ARG_INFO(0, gid) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getegid, 0) +ZEND_END_ARG_INFO() + +#ifdef HAVE_SETEGID +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setegid, 0, 0, 1) + ZEND_ARG_INFO(0, gid) +ZEND_END_ARG_INFO() +#endif + +#ifdef HAVE_GETGROUPS +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getgroups, 0) +ZEND_END_ARG_INFO() +#endif + +#ifdef HAVE_GETLOGIN +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getlogin, 0) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getpgrp, 0) +ZEND_END_ARG_INFO() + +#ifdef HAVE_SETSID +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_setsid, 0) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setpgid, 0, 0, 2) + ZEND_ARG_INFO(0, pid) + ZEND_ARG_INFO(0, pgid) +ZEND_END_ARG_INFO() + +#ifdef HAVE_GETPGID +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpgid, 0, 0, 1) + ZEND_ARG_INFO(0, pid) +ZEND_END_ARG_INFO() +#endif + +#ifdef HAVE_GETSID +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getsid, 0, 0, 1) + ZEND_ARG_INFO(0, pid) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_uname, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_times, 0) +ZEND_END_ARG_INFO() + +#ifdef HAVE_CTERMID +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_ctermid, 0) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_ttyname, 0, 0, 1) + ZEND_ARG_INFO(0, fd) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_isatty, 0, 0, 1) + ZEND_ARG_INFO(0, fd) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getcwd, 0) +ZEND_END_ARG_INFO() + +#ifdef HAVE_MKFIFO +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_mkfifo, 0, 0, 2) + ZEND_ARG_INFO(0, pathname) + ZEND_ARG_INFO(0, mode) +ZEND_END_ARG_INFO() +#endif + +#ifdef HAVE_MKNOD +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_mknod, 0, 0, 2) + ZEND_ARG_INFO(0, pathname) + ZEND_ARG_INFO(0, mode) + ZEND_ARG_INFO(0, major) + ZEND_ARG_INFO(0, minor) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_access, 0, 0, 1) + ZEND_ARG_INFO(0, file) + ZEND_ARG_INFO(0, mode) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getgrnam, 0, 0, 1) + ZEND_ARG_INFO(0, name) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getgrgid, 0, 0, 1) + ZEND_ARG_INFO(0, gid) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpwnam, 0, 0, 1) + ZEND_ARG_INFO(0, username) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpwuid, 0, 0, 1) + ZEND_ARG_INFO(0, uid) +ZEND_END_ARG_INFO() + +#ifdef HAVE_GETRLIMIT +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_getrlimit, 0) +ZEND_END_ARG_INFO() +#endif + +static +ZEND_BEGIN_ARG_INFO(arginfo_posix_get_last_error, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_strerror, 0, 0, 1) + ZEND_ARG_INFO(0, errno) +ZEND_END_ARG_INFO() + +#ifdef HAVE_INITGROUPS +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_initgroups, 0, 0, 2) + ZEND_ARG_INFO(0, name) + ZEND_ARG_INFO(0, base_group_id) +ZEND_END_ARG_INFO() +#endif +/* }}} */ + /* {{{ posix_functions[] */ const
[PHP-CVS] cvs: php-src /ext/posix posix.c
felipe Mon Jun 23 01:16:49 2008 UTC Modified files: /php-src/ext/posix posix.c Log: - MFB: Fix build where __USE_GNU is used instead of _GNU_SOURCE to define utsname.domainname http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.100r2=1.101diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.100 php-src/ext/posix/posix.c:1.101 --- php-src/ext/posix/posix.c:1.100 Mon May 5 21:28:47 2008 +++ php-src/ext/posix/posix.c Mon Jun 23 01:16:49 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.100 2008/05/05 21:28:47 rasmus Exp $ */ +/* $Id: posix.c,v 1.101 2008/06/23 01:16:49 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -36,6 +36,11 @@ #endif #include sys/resource.h + +#if defined(_GNU_SOURCE) !defined(__USE_GNU) +# define __USE_GNU +#endif + #include sys/utsname.h #include sys/types.h #include sys/stat.h @@ -147,7 +152,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.100 $); + php_info_print_table_row(2, Revision, $Revision: 1.101 $); php_info_print_table_end(); } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
rasmus Mon May 5 21:28:47 2008 UTC Modified files: /php-src/ext/posix posix.c Log: No domainname element in utsname on OSX http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.99r2=1.100diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.99 php-src/ext/posix/posix.c:1.100 --- php-src/ext/posix/posix.c:1.99 Sun May 4 09:33:56 2008 +++ php-src/ext/posix/posix.c Mon May 5 21:28:47 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.99 2008/05/04 09:33:56 tony2001 Exp $ */ +/* $Id: posix.c,v 1.100 2008/05/05 21:28:47 rasmus Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.99 $); + php_info_print_table_row(2, Revision, $Revision: 1.100 $); php_info_print_table_end(); } /* }}} */ @@ -468,7 +468,7 @@ add_assoc_string(return_value, release, u.release, 1); add_assoc_string(return_value, version, u.version, 1); add_assoc_string(return_value, machine, u.machine, 1); -#ifdef _GNU_SOURCE +#if defined(_GNU_SOURCE) !defined(DARWIN) add_assoc_string(return_value, domainname, u.domainname, 1); #endif } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Sun May 4 09:33:57 2008 UTC Modified files: /php-src/ext/posix posix.c Log: fix folding http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.98r2=1.99diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.98 php-src/ext/posix/posix.c:1.99 --- php-src/ext/posix/posix.c:1.98 Fri Apr 11 10:59:50 2008 +++ php-src/ext/posix/posix.c Sun May 4 09:33:56 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.98 2008/04/11 10:59:50 tony2001 Exp $ */ +/* $Id: posix.c,v 1.99 2008/05/04 09:33:56 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,15 +147,16 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.98 $); + php_info_print_table_row(2, Revision, $Revision: 1.99 $); php_info_print_table_end(); } /* }}} */ -static PHP_GINIT_FUNCTION(posix) +static PHP_GINIT_FUNCTION(posix) /* {{{ */ { posix_globals-last_error = 0; } +/* }}} */ /* {{{ PHP_MINIT_FUNCTION(posix) */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Fri Apr 11 10:59:50 2008 UTC Modified files: /php-src/ext/posix posix.c Log: fix 2 segfaults in ZTS mode http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.97r2=1.98diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.97 php-src/ext/posix/posix.c:1.98 --- php-src/ext/posix/posix.c:1.97 Tue Mar 4 23:39:15 2008 +++ php-src/ext/posix/posix.c Fri Apr 11 10:59:50 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.97 2008/03/04 23:39:15 felipe Exp $ */ +/* $Id: posix.c,v 1.98 2008/04/11 10:59:50 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.97 $); + php_info_print_table_row(2, Revision, $Revision: 1.98 $); php_info_print_table_end(); } /* }}} */ @@ -873,7 +873,7 @@ #if defined(ZTS) defined(HAVE_GETGRGID_R) defined(_SC_GETGR_R_SIZE_MAX) int ret; struct group _g; - struct group *retgrptr; + struct group *retgrptr = NULL; long grbuflen; char *grbuf; #endif @@ -892,7 +892,7 @@ grbuf = emalloc(grbuflen); ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr); - if (ret) { + if (ret || retgrptr == NULL) { POSIX_G(last_error) = ret; efree(grbuf); RETURN_FALSE; @@ -1009,7 +1009,7 @@ pwbuf = emalloc(pwbuflen); ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr); - if (ret) { + if (ret || retpwptr == NULL) { POSIX_G(last_error) = ret; efree(pwbuf); RETURN_FALSE; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
bjori Wed Jul 25 09:05:55 2007 UTC Modified files: /php-src/ext/posix posix.c Log: Show wrong parameter count error messages http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.93r2=1.94diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.93 php-src/ext/posix/posix.c:1.94 --- php-src/ext/posix/posix.c:1.93 Thu Feb 22 23:40:25 2007 +++ php-src/ext/posix/posix.c Wed Jul 25 09:05:55 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.93 2007/02/22 23:40:25 tony2001 Exp $ */ +/* $Id: posix.c,v 1.94 2007/07/25 09:05:55 bjori Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.93 $); + php_info_print_table_row(2, Revision, $Revision: 1.94 $); php_info_print_table_end(); } /* }}} */ @@ -209,7 +209,7 @@ ZEND_GET_MODULE(posix) #endif -#define PHP_POSIX_NO_ARGS if (ZEND_NUM_ARGS()) return; +#define PHP_POSIX_NO_ARGS if (ZEND_NUM_ARGS()) WRONG_PARAM_COUNT; #define PHP_POSIX_RETURN_LONG_FUNC(func_name) \ PHP_POSIX_NO_ARGS \ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Thu Feb 22 23:40:26 2007 UTC Modified files: /php-src/ext/posix posix.c Log: check for buflen (on FreeBSD _SC_GETGR_R_SIZE_MAX is not implemented) patch by stas at FreeBSD dot org http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.92r2=1.93diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.92 php-src/ext/posix/posix.c:1.93 --- php-src/ext/posix/posix.c:1.92 Sat Feb 10 00:50:29 2007 +++ php-src/ext/posix/posix.c Thu Feb 22 23:40:25 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.92 2007/02/10 00:50:29 tony2001 Exp $ */ +/* $Id: posix.c,v 1.93 2007/02/22 23:40:25 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.92 $); + php_info_print_table_row(2, Revision, $Revision: 1.93 $); php_info_print_table_end(); } /* }}} */ @@ -885,6 +885,10 @@ #if defined(ZTS) defined(HAVE_GETGRGID_R) defined(_SC_GETGR_R_SIZE_MAX) grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); + if (grbuflen 1) { + RETURN_FALSE; + } + grbuf = emalloc(grbuflen); ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Fri Feb 9 10:15:03 2007 UTC Modified files: /php-src/ext/posix posix.c Log: fix #40410 (ext/posix does not compile on MacOS 10.3.9) http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.90r2=1.91diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.90 php-src/ext/posix/posix.c:1.91 --- php-src/ext/posix/posix.c:1.90 Fri Jan 12 01:50:43 2007 +++ php-src/ext/posix/posix.c Fri Feb 9 10:15:03 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.90 2007/01/12 01:50:43 iliaa Exp $ */ +/* $Id: posix.c,v 1.91 2007/02/09 10:15:03 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.90 $); + php_info_print_table_row(2, Revision, $Revision: 1.91 $); php_info_print_table_end(); } /* }}} */ @@ -882,7 +882,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, gid) == FAILURE) { RETURN_FALSE; } -#ifdef HAVE_GETGRGID_R +#if defined(ZTS) defined(HAVE_GETGRGID_R) defined(_SC_GETGR_R_SIZE_MAX) grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); grbuf = emalloc(grbuflen); @@ -907,7 +907,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix group struct to array); RETVAL_FALSE; } -#ifdef HAVE_GETGRGID_R +#if defined(ZTS) defined(HAVE_GETGRGID_R) defined(_SC_GETGR_R_SIZE_MAX) efree(grbuf); #endif } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Sat Feb 10 00:50:29 2007 UTC Modified files: /php-src/ext/posix posix.c Log: use the same ifdef anf get rid of unused var warnings http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.91r2=1.92diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.91 php-src/ext/posix/posix.c:1.92 --- php-src/ext/posix/posix.c:1.91 Fri Feb 9 10:15:03 2007 +++ php-src/ext/posix/posix.c Sat Feb 10 00:50:29 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.91 2007/02/09 10:15:03 tony2001 Exp $ */ +/* $Id: posix.c,v 1.92 2007/02/10 00:50:29 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.91 $); + php_info_print_table_row(2, Revision, $Revision: 1.92 $); php_info_print_table_end(); } /* }}} */ @@ -870,7 +870,7 @@ PHP_FUNCTION(posix_getgrgid) { long gid; -#ifdef HAVE_GETGRGID_R +#if defined(ZTS) defined(HAVE_GETGRGID_R) defined(_SC_GETGR_R_SIZE_MAX) int ret; struct group _g; struct group *retgrptr; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c /main fopen_wrappers.c
iliaa Fri Jan 12 01:50:43 2007 UTC Modified files: /php-src/ext/posix posix.c /php-src/main fopen_wrappers.c Log: MFB: Fixed bug #40098 (php_fopen_primary_script() not thread safe). Adjusted previous fixes for similar issue to handle sysconf() failures http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.89r2=1.90diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.89 php-src/ext/posix/posix.c:1.90 --- php-src/ext/posix/posix.c:1.89 Thu Jan 11 02:31:50 2007 +++ php-src/ext/posix/posix.c Fri Jan 12 01:50:43 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.89 2007/01/11 02:31:50 pollita Exp $ */ +/* $Id: posix.c,v 1.90 2007/01/12 01:50:43 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.89 $); + php_info_print_table_row(2, Revision, $Revision: 1.90 $); php_info_print_table_end(); } /* }}} */ @@ -556,8 +556,8 @@ zval **z_fd; char *p; int fd; -#if HAVE_TTYNAME_R - size_t buflen; +#if defined(ZTS) defined(HAVE_TTYNAME_R) defined(_SC_TTY_NAME_MAX) + long buflen; #endif if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, Z, z_fd) == FAILURE) { @@ -574,8 +574,11 @@ convert_to_long_ex(z_fd); fd = Z_LVAL_PP(z_fd); } -#if HAVE_TTYNAME_R +#if defined(ZTS) defined(HAVE_TTYNAME_R) defined(_SC_TTY_NAME_MAX) buflen = sysconf(_SC_TTY_NAME_MAX); + if (buflen 1) { + RETURN_FALSE; + } p = emalloc(buflen); if (ttyname_r(fd, p, buflen)) { @@ -820,9 +823,9 @@ char *name; struct group *g; int name_len; -#if HAVE_GETGRNAM_R +#if defined(ZTS) defined(HAVE_GETGRNAM_R) defined(_SC_GETGR_R_SIZE_MAX) struct group gbuf; - int buflen; + long buflen; char *buf; #endif @@ -830,8 +833,11 @@ RETURN_FALSE; } -#if HAVE_GETGRNAM_R +#if defined(ZTS) defined(HAVE_GETGRNAM_R) defined(_SC_GETGR_R_SIZE_MAX) buflen = sysconf(_SC_GETGR_R_SIZE_MAX); + if (buflen 1) { + RETURN_FALSE; + } buf = emalloc(buflen); g = gbuf; @@ -853,7 +859,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix group to array); RETVAL_FALSE; } -#if HAVE_GETGRNAM_R +#if defined(ZTS) defined(HAVE_GETGRNAM_R) defined(_SC_GETGR_R_SIZE_MAX) efree(buf); #endif } @@ -868,7 +874,7 @@ int ret; struct group _g; struct group *retgrptr; - int grbuflen; + long grbuflen; char *grbuf; #endif struct group *g; @@ -932,9 +938,9 @@ struct passwd *pw; char *name; int name_len; -#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) +#if defined(ZTS) defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) struct passwd pwbuf; - int buflen; + long buflen; char *buf; #endif @@ -942,8 +948,11 @@ RETURN_FALSE; } -#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) +#if defined(ZTS) defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) buflen = sysconf(_SC_GETPW_R_SIZE_MAX); + if (buflen 1) { + RETURN_FALSE; + } buf = emalloc(buflen); pw = pwbuf; @@ -965,7 +974,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix passwd struct to array); RETVAL_FALSE; } -#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) +#if defined(ZTS) defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) efree(buf); #endif } @@ -976,10 +985,10 @@ PHP_FUNCTION(posix_getpwuid) { long uid; -#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) +#if defined(ZTS) defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) struct passwd _pw; struct passwd *retpwptr = NULL; - int pwbuflen; + long pwbuflen; char *pwbuf; int ret; #endif @@ -988,8 +997,11 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == FAILURE) { RETURN_FALSE; } -#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) +#if defined(ZTS) defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); + if (pwbuflen 1) { + RETURN_FALSE; + } pwbuf = emalloc(pwbuflen); ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr); @@ -1012,7 +1024,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix passwd struct to array);
[PHP-CVS] cvs: php-src /ext/posix posix.c /ext/standard filestat.c
pollita Thu Jan 11 01:52:24 2007 UTC Modified files: /php-src/ext/posix posix.c /php-src/ext/standard filestat.c Log: Some platforms have getpwnam_r() but are missing _SC_GETPW_R_SIZE_MAX http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.87r2=1.88diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.87 php-src/ext/posix/posix.c:1.88 --- php-src/ext/posix/posix.c:1.87 Fri Jan 5 21:30:06 2007 +++ php-src/ext/posix/posix.c Thu Jan 11 01:52:24 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.87 2007/01/05 21:30:06 pollita Exp $ */ +/* $Id: posix.c,v 1.88 2007/01/11 01:52:24 pollita Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.87 $); + php_info_print_table_row(2, Revision, $Revision: 1.88 $); php_info_print_table_end(); } /* }}} */ @@ -942,7 +942,7 @@ RETURN_FALSE; } -#ifdef HAVE_GETPWNAM_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) buflen = sysconf(_SC_GETPW_R_SIZE_MAX); buf = emalloc(buflen); pw = pwbuf; @@ -988,7 +988,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == FAILURE) { RETURN_FALSE; } -#ifdef HAVE_GETPWUID_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); pwbuf = emalloc(pwbuflen); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/filestat.c?r1=1.154r2=1.155diff_format=u Index: php-src/ext/standard/filestat.c diff -u php-src/ext/standard/filestat.c:1.154 php-src/ext/standard/filestat.c:1.155 --- php-src/ext/standard/filestat.c:1.154 Mon Jan 1 09:29:31 2007 +++ php-src/ext/standard/filestat.c Thu Jan 11 01:52:24 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: filestat.c,v 1.154 2007/01/01 09:29:31 sebastian Exp $ */ +/* $Id: filestat.c,v 1.155 2007/01/11 01:52:24 pollita Exp $ */ #include php.h #include fopen_wrappers.h @@ -521,7 +521,7 @@ if (Z_TYPE_P(user) == IS_LONG) { uid = (uid_t)Z_LVAL_P(user); } else { -#ifdef HAVE_GETPWNAM_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) struct passwd pw; struct passwd *retpwptr = NULL; int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
pollita Thu Jan 11 02:31:50 2007 UTC Modified files: /php-src/ext/posix posix.c Log: #ifdef out the rest of that getpwuid_r() patch, see prior commit http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.88r2=1.89diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.88 php-src/ext/posix/posix.c:1.89 --- php-src/ext/posix/posix.c:1.88 Thu Jan 11 01:52:24 2007 +++ php-src/ext/posix/posix.c Thu Jan 11 02:31:50 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.88 2007/01/11 01:52:24 pollita Exp $ */ +/* $Id: posix.c,v 1.89 2007/01/11 02:31:50 pollita Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.88 $); + php_info_print_table_row(2, Revision, $Revision: 1.89 $); php_info_print_table_end(); } /* }}} */ @@ -932,7 +932,7 @@ struct passwd *pw; char *name; int name_len; -#ifdef HAVE_GETPWNAM_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) struct passwd pwbuf; int buflen; char *buf; @@ -965,7 +965,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix passwd struct to array); RETVAL_FALSE; } -#ifdef HAVE_GETPWNAM_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWNAM_R) efree(buf); #endif } @@ -976,7 +976,7 @@ PHP_FUNCTION(posix_getpwuid) { long uid; -#ifdef HAVE_GETPWUID_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) struct passwd _pw; struct passwd *retpwptr = NULL; int pwbuflen; @@ -1012,7 +1012,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix passwd struct to array); RETVAL_FALSE; } -#ifdef HAVE_GETPWUID_R +#if defined(_SC_GETPW_R_SIZE_MAX) defined(HAVE_GETPWUID_R) efree(pwbuf); #endif } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
pollita Fri Jan 5 20:01:44 2007 UTC Modified files: /php-src/ext/posix posix.c Log: BSD4.1 (possibly others) doesn't support _SC_TTY_NAME_MAX http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.85r2=1.86diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.85 php-src/ext/posix/posix.c:1.86 --- php-src/ext/posix/posix.c:1.85 Mon Jan 1 09:29:28 2007 +++ php-src/ext/posix/posix.c Fri Jan 5 20:01:44 2007 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.85 2007/01/01 09:29:28 sebastian Exp $ */ +/* $Id: posix.c,v 1.86 2007/01/05 20:01:44 pollita Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.85 $); + php_info_print_table_row(2, Revision, $Revision: 1.86 $); php_info_print_table_end(); } /* }}} */ @@ -575,7 +575,12 @@ fd = Z_LVAL_PP(z_fd); } #if HAVE_TTYNAME_R +#ifdef _SC_TTY_NAME_MAX buflen = sysconf(_SC_TTY_NAME_MAX); +#else + /* Arbitrary buffer size for systems which don't extrospect their tty name lengths, way overkill */ + buflen = 64; +#endif p = emalloc(buflen); if (ttyname_r(fd, p, buflen)) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Thu Dec 21 01:00:39 2006 UTC Modified files: /php-src/ext/posix posix.c Log: fix possible leaks http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.82r2=1.83diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.82 php-src/ext/posix/posix.c:1.83 --- php-src/ext/posix/posix.c:1.82 Thu Dec 7 01:41:29 2006 +++ php-src/ext/posix/posix.c Thu Dec 21 01:00:39 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.82 2006/12/07 01:41:29 iliaa Exp $ */ +/* $Id: posix.c,v 1.83 2006/12/21 01:00:39 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.82 $); + php_info_print_table_row(2, Revision, $Revision: 1.83 $); php_info_print_table_end(); } /* }}} */ @@ -845,6 +845,7 @@ array_init(return_value); if (!php_posix_group_to_array(g, return_value)) { + zval_dtor(return_value); php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix group to array); RETVAL_FALSE; } @@ -863,8 +864,8 @@ int ret; struct group _g; struct group *retgrptr; - int grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); - char *grbuf = emalloc(grbuflen); + int grbuflen; + char *grbuf; #endif struct group *g; @@ -872,6 +873,10 @@ RETURN_FALSE; } #ifdef HAVE_GETGRGID_R + + grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); + grbuf = emalloc(grbuflen); + ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr); if (ret) { POSIX_G(last_error) = ret; @@ -888,6 +893,7 @@ array_init(return_value); if (!php_posix_group_to_array(g, return_value)) { + zval_dtor(return_value); php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix group struct to array); RETVAL_FALSE; } @@ -949,6 +955,7 @@ array_init(return_value); if (!php_posix_passwd_to_array(pw, return_value)) { + zval_dtor(return_value); php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix passwd struct to array); RETVAL_FALSE; } @@ -966,8 +973,8 @@ #ifdef HAVE_GETPWUID_R struct passwd _pw; struct passwd *retpwptr = NULL; - int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); - char *pwbuf = emalloc(pwbuflen); + int pwbuflen; + char *pwbuf; int ret; #endif struct passwd *pw; @@ -976,6 +983,9 @@ RETURN_FALSE; } #ifdef HAVE_GETPWUID_R + pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); + pwbuf = emalloc(pwbuflen); + ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr); if (ret) { POSIX_G(last_error) = ret; @@ -992,6 +1002,7 @@ array_init(return_value); if (!php_posix_passwd_to_array(pw, return_value)) { + zval_dtor(return_value); php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert posix passwd struct to array); RETVAL_FALSE; } @@ -1109,8 +1120,10 @@ array_init(return_value); for (l=limits; l-name; l++) { - if (posix_addlimit(l-limit, l-name, return_value TSRMLS_CC) == FAILURE) + if (posix_addlimit(l-limit, l-name, return_value TSRMLS_CC) == FAILURE) { + zval_dtor(return_value); RETURN_FALSE; + } } } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
iliaa Thu Nov 30 00:35:27 2006 UTC Modified files: /php-src/ext/posix posix.c Log: MFB: Thread safety fixed for *nix systems http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.80r2=1.81diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.80 php-src/ext/posix/posix.c:1.81 --- php-src/ext/posix/posix.c:1.80 Mon Oct 2 07:54:37 2006 +++ php-src/ext/posix/posix.c Thu Nov 30 00:35:27 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.80 2006/10/02 07:54:37 bjori Exp $ */ +/* $Id: posix.c,v 1.81 2006/11/30 00:35:27 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.80 $); + php_info_print_table_row(2, Revision, $Revision: 1.81 $); php_info_print_table_end(); } /* }}} */ @@ -827,17 +827,33 @@ PHP_FUNCTION(posix_getgrgid) { long gid; +#ifdef HAVE_GETGRGID_R + int ret; + struct group _g; + struct group *retgrptr; + int grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); + char *grbuf = emalloc(grbuflen); +#endif struct group *g; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, gid) == FAILURE) { RETURN_FALSE; } - +#ifdef HAVE_GETGRGID_R + ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr); + if (ret) { + POSIX_G(last_error) = ret; + efree(grbuf); + RETURN_FALSE; + } + efree(grbuf); + g = _g; +#else if (NULL == (g = getgrgid(gid))) { POSIX_G(last_error) = errno; RETURN_FALSE; } - +#endif array_init(return_value); if (!php_posix_group_to_array(g, return_value)) { @@ -895,17 +911,33 @@ PHP_FUNCTION(posix_getpwuid) { long uid; +#ifdef HAVE_GETPWUID_R + struct passwd _pw; + struct passwd *retpwptr = NULL; + int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); + char *pwbuf = emalloc(pwbuflen); + int ret; +#endif struct passwd *pw; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == FAILURE) { RETURN_FALSE; } - +#ifdef HAVE_GETPWUID_R + ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr); + if (ret) { + POSIX_G(last_error) = ret; + efree(pwbuf); + RETURN_FALSE; + } + efree(pwbuf); + pw = _pw; +#else if (NULL == (pw = getpwuid(uid))) { POSIX_G(last_error) = errno; RETURN_FALSE; } - +#endif array_init(return_value); if (!php_posix_passwd_to_array(pw, return_value)) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c /ext/standard basic_functions.c html.c /ext/tidy tidy.c
bjori Mon Oct 2 07:54:37 2006 UTC Modified files: /php-src/ext/posix posix.c /php-src/ext/tidy tidy.c /php-src/ext/standard basic_functions.c html.c Log: Protos http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.79r2=1.80diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.79 php-src/ext/posix/posix.c:1.80 --- php-src/ext/posix/posix.c:1.79 Sat Sep 16 17:42:44 2006 +++ php-src/ext/posix/posix.c Mon Oct 2 07:54:37 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.79 2006/09/16 17:42:44 nlopess Exp $ */ +/* $Id: posix.c,v 1.80 2006/10/02 07:54:37 bjori Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.79 $); + php_info_print_table_row(2, Revision, $Revision: 1.80 $); php_info_print_table_end(); } /* }}} */ @@ -1058,7 +1058,7 @@ #endif #ifdef HAVE_INITGROUPS -/* {{{ proto bool initgroups(string name, int base_group_id) +/* {{{ proto bool posix_initgroups(string name, int base_group_id) Calculate the group access list for the user specified in name. */ PHP_FUNCTION(posix_initgroups) { http://cvs.php.net/viewvc.cgi/php-src/ext/tidy/tidy.c?r1=1.101r2=1.102diff_format=u Index: php-src/ext/tidy/tidy.c diff -u php-src/ext/tidy/tidy.c:1.101 php-src/ext/tidy/tidy.c:1.102 --- php-src/ext/tidy/tidy.c:1.101 Fri Sep 15 14:59:04 2006 +++ php-src/ext/tidy/tidy.c Mon Oct 2 07:54:37 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: tidy.c,v 1.101 2006/09/15 14:59:04 nlopess Exp $ */ +/* $Id: tidy.c,v 1.102 2006/10/02 07:54:37 bjori Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1012,7 +1012,7 @@ php_info_print_table_start(); php_info_print_table_header(2, Tidy support, enabled); php_info_print_table_row(2, libTidy Release, (char *)tidyReleaseDate()); - php_info_print_table_row(2, Extension Version, PHP_TIDY_MODULE_VERSION ($Id: tidy.c,v 1.101 2006/09/15 14:59:04 nlopess Exp $)); + php_info_print_table_row(2, Extension Version, PHP_TIDY_MODULE_VERSION ($Id: tidy.c,v 1.102 2006/10/02 07:54:37 bjori Exp $)); php_info_print_table_end(); DISPLAY_INI_ENTRIES(); @@ -1387,7 +1387,7 @@ } /* }}} */ -/* {{{ proto bool tidy_is_xhtml() U +/* {{{ proto bool tidy_is_xml() U Indicates if the document is a generic (non HTML/XHTML) XML document. */ static PHP_FUNCTION(tidy_is_xml) { http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.806r2=1.807diff_format=u Index: php-src/ext/standard/basic_functions.c diff -u php-src/ext/standard/basic_functions.c:1.806 php-src/ext/standard/basic_functions.c:1.807 --- php-src/ext/standard/basic_functions.c:1.806Sun Oct 1 21:00:00 2006 +++ php-src/ext/standard/basic_functions.c Mon Oct 2 07:54:37 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: basic_functions.c,v 1.806 2006/10/01 21:00:00 iliaa Exp $ */ +/* $Id: basic_functions.c,v 1.807 2006/10/02 07:54:37 bjori Exp $ */ #include php.h #include php_streams.h @@ -6317,6 +6317,8 @@ /* }}} */ #ifdef HAVE_GETLOADAVG +/* {{{ proto array sys_getloadavg() +*/ PHP_FUNCTION(sys_getloadavg) { double load[3]; @@ -6330,6 +6332,7 @@ add_index_double(return_value, 2, load[2]); } } +/* }}} */ #endif http://cvs.php.net/viewvc.cgi/php-src/ext/standard/html.c?r1=1.115r2=1.116diff_format=u Index: php-src/ext/standard/html.c diff -u php-src/ext/standard/html.c:1.115 php-src/ext/standard/html.c:1.116 --- php-src/ext/standard/html.c:1.115 Tue Aug 15 15:09:21 2006 +++ php-src/ext/standard/html.c Mon Oct 2 07:54:37 2006 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: html.c,v 1.115 2006/08/15 15:09:21 tony2001 Exp $ */ +/* $Id: html.c,v 1.116 2006/10/02 07:54:37 bjori Exp $ */ /* * HTML entity resources: @@ -1223,7 +1223,7 @@ } /* }}} */ -/* {{{ proto string htmlspecialchars(string string [, int quote_style]) +/* {{{ proto string htmlspecialchars_decode(string string [, int quote_style]) Convert special HTML entities back to characters */ PHP_FUNCTION(htmlspecialchars_decode) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c /ext/posix/tests .cvsignore 001.phpt
nlopess Sat Sep 16 17:42:44 2006 UTC Modified files: /php-src/ext/posix posix.c /php-src/ext/posix/tests.cvsignore 001.phpt Log: MFB http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.78r2=1.79diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.78 php-src/ext/posix/posix.c:1.79 --- php-src/ext/posix/posix.c:1.78 Thu Aug 31 16:14:43 2006 +++ php-src/ext/posix/posix.c Sat Sep 16 17:42:44 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.78 2006/08/31 16:14:43 tony2001 Exp $ */ +/* $Id: posix.c,v 1.79 2006/09/16 17:42:44 nlopess Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.78 $); + php_info_print_table_row(2, Revision, $Revision: 1.79 $); php_info_print_table_end(); } /* }}} */ @@ -766,6 +766,10 @@ } path = expand_filepath(filename, NULL TSRMLS_CC); + if (!path) { + POSIX_G(last_error) = EIO; + RETURN_FALSE; + } if (php_check_open_basedir_ex(path, 0 TSRMLS_CC)) { efree(path); http://cvs.php.net/viewvc.cgi/php-src/ext/posix/tests/.cvsignore?r1=1.1r2=1.2diff_format=u Index: php-src/ext/posix/tests/.cvsignore diff -u /dev/null php-src/ext/posix/tests/.cvsignore:1.2 --- /dev/null Sat Sep 16 17:42:44 2006 +++ php-src/ext/posix/tests/.cvsignore Sat Sep 16 17:42:44 2006 @@ -0,0 +1,7 @@ +*.diff +*.log +*.exp +*.out +*.php +*.gcda +*.gcno http://cvs.php.net/viewvc.cgi/php-src/ext/posix/tests/001.phpt?r1=1.1r2=1.2diff_format=u Index: php-src/ext/posix/tests/001.phpt diff -u /dev/null php-src/ext/posix/tests/001.phpt:1.2 --- /dev/null Sat Sep 16 17:42:44 2006 +++ php-src/ext/posix/tests/001.phptSat Sep 16 17:42:44 2006 @@ -0,0 +1,12 @@ +--TEST-- +posix_access() with bogus paths +--SKIPIF-- +?php if (!extension_loaded('posix')) echo 'skip'; ? +--FILE-- +?php + +var_dump(posix_access(str_repeat('bogus path', 1042))); + +? +--EXPECT-- +bool(false) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
iliaa Mon Jun 19 23:55:12 2006 UTC Modified files: /php-src/ext/posix posix.c Log: MFB: Added missing ifdef block. http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.76r2=1.77diff_format=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.76 php-src/ext/posix/posix.c:1.77 --- php-src/ext/posix/posix.c:1.76 Mon Jun 19 02:19:45 2006 +++ php-src/ext/posix/posix.c Mon Jun 19 23:55:11 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.76 2006/06/19 02:19:45 iliaa Exp $ */ +/* $Id: posix.c,v 1.77 2006/06/19 23:55:11 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -147,7 +147,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.76 $); + php_info_print_table_row(2, Revision, $Revision: 1.77 $); php_info_print_table_end(); } /* }}} */ @@ -1053,6 +1053,7 @@ #endif +#ifdef HAVE_INITGROUPS /* {{{ proto bool initgroups(string name, int base_group_id) Calculate the group access list for the user specified in name. */ PHP_FUNCTION(posix_initgroups) @@ -1068,6 +1069,7 @@ RETURN_BOOL(!initgroups((const char *)name, basegid)); } /* }}} */ +#endif /* * Local variables: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
derick Wed Nov 2 10:50:07 2005 EDT Modified files: /php-src/ext/posix posix.c Log: - Fixed posix_mknod() checks and warnings. http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.70r2=1.71ty=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.70 php-src/ext/posix/posix.c:1.71 --- php-src/ext/posix/posix.c:1.70 Mon Aug 8 17:44:58 2005 +++ php-src/ext/posix/posix.c Wed Nov 2 10:50:06 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.70 2005/08/08 21:44:58 magnus Exp $ */ +/* $Id: posix.c,v 1.71 2005/11/02 15:50:06 derick Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -143,7 +143,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.70 $); + php_info_print_table_row(2, Revision, $Revision: 1.71 $); php_info_print_table_end(); } /* }}} */ @@ -676,7 +676,7 @@ char *path; int path_len; long mode; - long major, minor = 0; + long major = 0, minor = 0; int result; dev_t php_dev; @@ -693,9 +693,13 @@ } if ((mode S_IFCHR) || (mode S_IFBLK)) { + if (ZEND_NUM_ARGS() == 2) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, For S_IFCHR and S_IFBLK you need to pass a major device kernel identifier); + RETURN_FALSE; + } if (major == 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, - expects argument 4 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK); + Expects argument 3 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK); RETURN_FALSE; } else { #if defined(HAVE_MAKEDEV) || defined(makedev) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
magnus Mon Aug 8 17:44:59 2005 EDT Modified files: /php-src/ext/posix posix.c Log: makedev is a macro on several systems. http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.69r2=1.70ty=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.69 php-src/ext/posix/posix.c:1.70 --- php-src/ext/posix/posix.c:1.69 Wed Aug 3 10:07:42 2005 +++ php-src/ext/posix/posix.c Mon Aug 8 17:44:58 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.69 2005/08/03 14:07:42 sniper Exp $ */ +/* $Id: posix.c,v 1.70 2005/08/08 21:44:58 magnus Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -143,7 +143,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.69 $); + php_info_print_table_row(2, Revision, $Revision: 1.70 $); php_info_print_table_end(); } /* }}} */ @@ -698,7 +698,7 @@ expects argument 4 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK); RETURN_FALSE; } else { -#ifdef HAVE_MAKEDEV +#if defined(HAVE_MAKEDEV) || defined(makedev) php_dev = makedev(major, minor); #else php_error_docref(NULL TSRMLS_CC, E_WARNING, Can not create a block or character device, creating a normal file instead); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
tony2001Thu Jan 27 20:38:56 2005 EDT Modified files: /php-src/ext/posix posix.c Log: change return type from NULL to FALSE when parameter parsing failed (as was requested by Ilia) http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.63r2=1.64ty=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.63 php-src/ext/posix/posix.c:1.64 --- php-src/ext/posix/posix.c:1.63 Thu Jan 27 19:27:48 2005 +++ php-src/ext/posix/posix.c Thu Jan 27 20:38:56 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.63 2005/01/28 00:27:48 tony2001 Exp $ */ +/* $Id: posix.c,v 1.64 2005/01/28 01:38:56 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -133,7 +133,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.63 $); + php_info_print_table_row(2, Revision, $Revision: 1.64 $); php_info_print_table_end(); } /* }}} */ @@ -186,7 +186,7 @@ #define PHP_POSIX_SINGLE_ARG_FUNC(func_name) \ long val; \ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == FAILURE) return; \ + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == FAILURE) RETURN_FALSE; \ if (func_name(val) 0) { \ POSIX_G(last_error) = errno;\ RETURN_FALSE; \ @@ -200,9 +200,10 @@ { long pid, sig; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, sig) == FAILURE) - return; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, sig) == FAILURE) { + RETURN_FALSE; + } + if (kill(pid, sig) 0) { POSIX_G(last_error) = errno; RETURN_FALSE; @@ -360,8 +361,9 @@ { long pid, pgid; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, pgid) == FAILURE) - return; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, pgid) == FAILURE) { + RETURN_FALSE; + } if (setpgid(pid, pgid) 0) { POSIX_G(last_error) = errno; @@ -379,7 +381,7 @@ { long val; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == FAILURE) { - return; + RETURN_FALSE; } if ((val = getpgid(val)) 0) { @@ -398,7 +400,7 @@ { long val; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == FAILURE) { - return; + RETURN_FALSE; } if ((val = getsid(val)) 0) { @@ -519,8 +521,9 @@ char *p; int fd; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == FAILURE) - return; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == FAILURE) { + RETURN_FALSE; + } switch (Z_TYPE_P(z_fd)) { case IS_RESOURCE: @@ -549,9 +552,10 @@ zval *z_fd; int fd; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == FAILURE) - return; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == FAILURE) { + RETURN_FALSE; + } + switch (Z_TYPE_P(z_fd)) { case IS_RESOURCE: if (!php_posix_stream_get_fd(z_fd, fd TSRMLS_CC)) { @@ -615,8 +619,9 @@ long mode; int result; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, sl, path, path_len, mode) == FAILURE) - return; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, sl, path, path_len, mode) == FAILURE) { + RETURN_FALSE; + } if (PG(safe_mode) (!php_checkuid(path, NULL, CHECKUID_ALLOW_ONLY_DIR))) { RETURN_FALSE; @@ -673,8 +678,9 @@ int filename_len, ret; char *filename, *path; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|l, filename, filename_len, mode) == FAILURE) - return; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|l, filename, filename_len, mode) == FAILURE) { + RETURN_FALSE; + } path = expand_filepath(filename, NULL TSRMLS_CC); @@ -712,8 +718,9 @@ struct group *g; int name_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, name, name_len) == FAILURE) - return; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, name, name_len) == FAILURE) { + RETURN_FALSE; + } if (NULL == (g = getgrnam(name))) { POSIX_G(last_error) = errno; @@ -736,8 +743,9 @@ long gid; struct group *g; - if
[PHP-CVS] cvs: php-src /ext/posix posix.c
magnus Fri Jan 7 12:38:04 2005 EDT Modified files: /php-src/ext/posix posix.c Log: Argh.. Committed old patch. Add safe_mode check and fix error code. http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.61r2=1.62ty=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.61 php-src/ext/posix/posix.c:1.62 --- php-src/ext/posix/posix.c:1.61 Fri Jan 7 11:05:06 2005 +++ php-src/ext/posix/posix.c Fri Jan 7 12:38:03 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.61 2005/01/07 16:05:06 magnus Exp $ */ +/* $Id: posix.c,v 1.62 2005/01/07 17:38:03 magnus Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -133,7 +133,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.61 $); + php_info_print_table_row(2, Revision, $Revision: 1.62 $); php_info_print_table_end(); } /* }}} */ @@ -660,9 +660,10 @@ path = expand_filepath(filename, NULL TSRMLS_CC); - if (php_check_open_basedir_ex(path, 0 TSRMLS_CC)) { + if (php_check_open_basedir_ex(path, 0 TSRMLS_CC) || + (PG(safe_mode) (!php_checkuid_ex(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR, CHECKUID_NO_ERRORS { efree(path); - POSIX_G(last_error) = EACCES; + POSIX_G(last_error) = EPERM; RETURN_FALSE; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/posix posix.c
iliaa Sun Apr 18 17:49:11 2004 EDT Modified files: /php-src/ext/posix posix.c Log: Simplify code via the use of macros. http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.59r2=1.60ty=u Index: php-src/ext/posix/posix.c diff -u php-src/ext/posix/posix.c:1.59 php-src/ext/posix/posix.c:1.60 --- php-src/ext/posix/posix.c:1.59 Thu Jan 8 03:17:11 2004 +++ php-src/ext/posix/posix.c Sun Apr 18 17:49:10 2004 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: posix.c,v 1.59 2004/01/08 08:17:11 andi Exp $ */ +/* $Id: posix.c,v 1.60 2004/04/18 21:49:10 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -131,7 +131,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, Revision, $Revision: 1.59 $); + php_info_print_table_row(2, Revision, $Revision: 1.60 $); php_info_print_table_end(); } /* }}} */ @@ -172,6 +172,21 @@ ZEND_GET_MODULE(posix) #endif +#define PHP_POSIX_NO_ARGS if (ZEND_NUM_ARGS()) return; + +#define PHP_POSIX_RETURN_LONG_FUNC(func_name) \ + PHP_POSIX_NO_ARGS \ + RETURN_LONG(func_name()); + +#define PHP_POSIX_SINGLE_ARG_FUNC(func_name) \ + long val; \ + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == FAILURE) return; \ + if (func_name(val) 0) { \ + POSIX_G(last_error) = errno;\ + RETURN_FALSE; \ + } \ + RETURN_TRUE; + /* {{{ proto bool posix_kill(int pid, int sig) Send a signal to a process (POSIX.1, 3.3.2) */ @@ -195,13 +210,7 @@ Get the current process id (POSIX.1, 4.1.1) */ PHP_FUNCTION(posix_getpid) { - pid_t pid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE) - return; - - pid = getpid(); - RETURN_LONG(pid); + PHP_POSIX_RETURN_LONG_FUNC(getpid); } /* }}} */ @@ -209,13 +218,7 @@ Get the parent process id (POSIX.1, 4.1.1) */ PHP_FUNCTION(posix_getppid) { - pid_t ppid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE) - return; - - ppid = getppid(); - RETURN_LONG(ppid); + PHP_POSIX_RETURN_LONG_FUNC(getppid); } /* }}} */ @@ -223,13 +226,7 @@ Get the current user id (POSIX.1, 4.2.1) */ PHP_FUNCTION(posix_getuid) { - uid_t uid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE) - return; - - uid = getuid(); - RETURN_LONG(uid); + PHP_POSIX_RETURN_LONG_FUNC(getuid); } /* }}} */ @@ -237,13 +234,7 @@ Get the current group id (POSIX.1, 4.2.1) */ PHP_FUNCTION(posix_getgid) { - gid_t gid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE) - return; - - gid = getgid(); - RETURN_LONG(gid); + PHP_POSIX_RETURN_LONG_FUNC(getgid); } /* }}} */ @@ -251,13 +242,7 @@ Get the current effective user id (POSIX.1, 4.2.1) */ PHP_FUNCTION(posix_geteuid) { - uid_t uid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE) - return; - - uid = geteuid(); - RETURN_LONG(uid); + PHP_POSIX_RETURN_LONG_FUNC(geteuid); } /* }}} */ @@ -265,31 +250,15 @@ Get the current effective group id (POSIX.1, 4.2.1) */ PHP_FUNCTION(posix_getegid) { - gid_t gid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE) - return; - - gid = getegid(); - RETURN_LONG(gid); - } + PHP_POSIX_RETURN_LONG_FUNC(getegid); +} /* }}} */ /* {{{ proto bool posix_setuid(long uid) Set user id (POSIX.1, 4.2.2) */ PHP_FUNCTION(posix_setuid) { - long uid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == FAILURE) - return; - - if (setuid(uid) 0) { - POSIX_G(last_error) = errno; - RETURN_FALSE; - } - - RETURN_TRUE; + PHP_POSIX_SINGLE_ARG_FUNC(setuid); } /* }}} */ @@ -297,17 +266,7 @@ Set group id (POSIX.1, 4.2.2) */ PHP_FUNCTION(posix_setgid) { - long gid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, gid) == FAILURE) - return; - - if (setgid(gid) 0) { - POSIX_G(last_error) = errno; - RETURN_FALSE; - } - - RETURN_TRUE; + PHP_POSIX_SINGLE_ARG_FUNC(setgid); } /* }}} */ @@ -316,17 +275,7 @@ #ifdef HAVE_SETEUID PHP_FUNCTION(posix_seteuid) { - long euid; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, euid) == FAILURE) - return; - - if (seteuid(euid) 0) { - POSIX_G(last_error) = errno; - RETURN_FALSE; - } - - RETURN_TRUE; + PHP_POSIX_SINGLE_ARG_FUNC(seteuid); } #endif /* }}} */