Bug #2483 Updated: set_file_buffer return value
| From: | jeroen@php.net | Date: | Sun, 11 Nov 2001 19:35:21 +0000 |
| Subject: | Bug #2483 Updated: set_file_buffer return value | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-70155@lists.php.net to get a copy of this message | ||
ID: 2483
Updated by: jeroen
Reported By: leon@leonatkinson.com
Old Status: Closed
Status: Open
Bug Type: Feature/Change Request
Operating System: all
PHP Version: 4.0
New Comment:
Leon ment the other way around: the current behaviour is to return integers, instead of bools
Unfortunately, changing this is a BC problem...
I'm adding a warning at least now, but won't touch the return-value.
Reopened
Previous Comments:
------------------------------------------------------------------------
[2001-11-11 14:29:52] sander@php.net
No need for this anymore as you can use "if($ret_value===false)" in PHP4.
------------------------------------------------------------------------
[2001-02-10 13:49:22] jimw@php.net
refiling against 4.0.
------------------------------------------------------------------------
[1999-10-10 17:51:29] leon@leonatkinson.com
I know this is nit-picky, but... Can someone change set_file_buffer() so that its return values are
more like other PHP functions? Right now it returns false when you pass it bad file handle,
otherwise it returns whatever setvbuf returns. But setvbuf() returns zero on success and
non-negative if you pass it bad type argument. The type is hard-coded, so it should always return
zero. Is there a problem with changing the return code from
RETURN_LONG(ret);
to
if(ret){
php3_error(E_WARNING,"illegal value for setvbuf type",id);
RETURN_FALSE;
}
else{
RETURN_TRUE;
}
which allows PHP code like
<?
if(!set_file_buffer($fp))
{
print("New buffer size not set!");
}
?>
Also, this sentence appears in my man page:
The setvbuf() function may be used after a stream is opened but before it is read or written.
It doesn't return any error when you try to do this, though, so it must just ignore the
request. How about adding a warning in PHP about trying to set the buffer size after a read or
write? Or is it too much overhead to track this info?
Thanks,
Leon
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=2483&edit=1