diff options
author | Antony Dovgal <tony2001@php.net> | 2005-01-28 00:26:07 +0000 |
---|---|---|
committer | Antony Dovgal <tony2001@php.net> | 2005-01-28 00:26:07 +0000 |
commit | 37ebffee0cb1a16c23801911c71a3e78225a333c (patch) | |
tree | a03127bf182e2571f84f6c5b483d7736435eb849 | |
parent | 4acc981ac4fccdd859882f33ddbc51d29a2ff28e (diff) | |
download | php-git-37ebffee0cb1a16c23801911c71a3e78225a333c.tar.gz |
fix posix_getsid() & posix_getpgid()
/* looks like copy&paste error first introduced in PHP 3.0.10 (!) */
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | ext/posix/posix.c | 22 |
2 files changed, 22 insertions, 2 deletions
@@ -11,6 +11,8 @@ PHP NEWS - Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values). (Georg) - Fixed segfault in mysqli_fetch_field_direct() when invalid field offset is passed. (Tony) +- Fixed posix_getsid() & posix_getpgid() to return sid & pgid instead + of true. (Tony) - Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback). (Georg) - Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia) diff --git a/ext/posix/posix.c b/ext/posix/posix.c index 107c38d26a..a7d2fd9638 100644 --- a/ext/posix/posix.c +++ b/ext/posix/posix.c @@ -371,7 +371,16 @@ PHP_FUNCTION(posix_setpgid) #ifdef HAVE_GETPGID PHP_FUNCTION(posix_getpgid) { - PHP_POSIX_SINGLE_ARG_FUNC(getpgid); + long val; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &val) == FAILURE) { + return; + } + + if ((val = getpgid(val)) < 0) { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } + RETURN_LONG(val); } #endif /* }}} */ @@ -381,7 +390,16 @@ PHP_FUNCTION(posix_getpgid) #ifdef HAVE_GETSID PHP_FUNCTION(posix_getsid) { - PHP_POSIX_SINGLE_ARG_FUNC(getsid); + long val; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &val) == FAILURE) { + return; + } + + if ((val = getsid(val)) < 0) { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } + RETURN_LONG(val); } #endif /* }}} */ |