Bug #51650 [Bgs]: gzinflate return values don't match docs

From: Date: Mon, 10 May 2010 08:52:18 +0000
Subject: Bug #51650 [Bgs]: gzinflate return values don't match docs
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-4346@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=51650&edit=1 ID: 51650 User updated by: marcus at synchromedia dot co dot uk Reported by: marcus at synchromedia dot co dot uk Summary: gzinflate return values don't match docs Status: Bogus Type: Bug Package: Documentation problem Operating System: all PHP Version: 5.2.14, 5.3.x New Comment: It's true that it doesn't explicitly say that, but it is still the case that 5.2 returns an error but 5.3 does not. Exactly why there is a difference isn't really that important - that there _is_ a difference is a BC break, and that's definitely not bogus. It's also been independently verified courtesy of felipe. As I said when I reported this: "This is either a docs problem or a BC break" - when documentation doesn't match behaviour, either the behaviour or the documentation is wrong - you can't have it both ways. Since you're saying the docs are right, the behaviour must be wrong. If it doesn't complain about invalid input data, what use is the return value? I guess there might be a few other circumstances such as running out of memory or missing the input value, but both of those would be caught and reported by other PHP mechanisms. If the parameter was missing atogether it would produce a compile-time error (i.e. nothing to do with a return value), but losing the ability to spot errors at runtime is a serious loss - it certainly caused problems for my app, which is why I reported this in the first place. Previous Comments: ------------------------------------------------------------------------ [2010-05-09 22:29:04] markskilbeck@php.net The documentation does not say that gzinflate will return false if the data passed has not been deflated. ------------------------------------------------------------------------ [2010-04-23 18:32:27] felipe@php.net I can reproduce it on PHP 5.2.14-dev. ------------------------------------------------------------------------ [2010-04-23 17:21:05] marcus at synchromedia dot co dot uk Description: ------------ gzinflate is supposed to return false if it tries to inflate something that's not valid deflated data. It does this on PHP 5.2, but returns an empty string in 5.3. This is either a docs problem or a BC break between 5.2 and 5.3. I can't find anything in bugs, docs, release notes or the 5.2 to 5.3 upgrade guide about this. Test script: --------------- <?php $a = gzdeflate('abc'); $b = gzinflate($a); var_dump($b); $c = gzinflate('abc'); var_dump($c); ?> Expected result: ---------------- (I get this under PHP 5.2.4 on linux) string(3) "abc" PHP Warning: gzinflate(): buffer error in test.php on line 5 bool(false) Actual result: -------------- (I get this from PHP 5.3.2 built from MacPorts on OS X) string(3) "abc" string(0) "" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51650&edit=1

« previous php.doc.bugs (#4346) next »