More BC bodges for fgets/fgetss

This commit is contained in:
Sara Golemon 2006-12-08 01:02:49 +00:00
parent e8101a6d16
commit aa08686c85

View File

@ -1129,13 +1129,15 @@ PHPAPI PHP_FUNCTION(fgets)
RETURN_NULL();
}
php_stream_from_zval(stream, &zstream);
if (length > 0) {
if (length == 1) {
/* For BC reasons, fgets() should only return length-1 bytes. */
RETURN_FALSE;
} else if (length > 1) {
length--;
}
php_stream_from_zval(stream, &zstream);
buf.v = php_stream_get_line_ex(stream, stream->readbuf_type, NULL_ZSTR, 0, length, &retlen);
if (!buf.v) {
RETURN_FALSE;
@ -1180,7 +1182,7 @@ PHPAPI PHP_FUNCTION(fgetc)
}
/* }}} */
/* {{{ proto string fgetss(resource fp [, int length, string allowable_tags]) U
/* {{{ proto string fgetss(resource fp [, int lengthish, string allowable_tags]) U
Get a line from file pointer and strip HTML tags */
PHPAPI PHP_FUNCTION(fgetss)
{
@ -1194,6 +1196,13 @@ PHPAPI PHP_FUNCTION(fgetss)
return;
}
if (length == 1) {
/* For BC reasons, fgetss() should only return length-1 bytes. */
RETURN_FALSE;
} else if (length > 1) {
length--;
}
php_stream_from_zval(stream, &zstream);
if (length > 0) {