At 10:47 01/11/2005, Rasmus Lerdorf wrote:
Derick Rethans wrote:
On Tue, 1 Nov 2005, Marco Bambini wrote:
Thanks a lot Rasmus, I have just (wrongly) assumed that the
convert_to_string
function tries to search for the 0 termination character.
It doesn't - but, PHP strings always require \0 to be the last character
so you always need to allocate one more byte and put the \0 in there -
even for binary data.
That's not really a PHP requirement, but more of a good convention to
prevent something external from falling off the end of a string. If you
are just working with it internally you don't need it.
It's a mix of both, to clarify:
- For 'PHP strings', i.e. strings that go back into PHP, it is a strict
requirement.
- For 'internal' strings, assuming internal means strings used by the
extension that never go anywhere beyond that, there aren't any requirements
of any kind, other than using the memory allocator perhaps. For that
matter, strings are like any other kind of data structure.
So it all depends on what people understand when they read 'PHP strings' or
'internal'.
Zeev
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php