Actually, any code in PHP can assume this. Any zval coming from the engine
is NULL terminated, so zval.str.val[zval.str.len] is always
NULL. Obviously, if you create the string, you have to NULL terminate it
before you can assume that :)
If a string is not NULL terminated, it is a bug.
At 09:18 02/08/2001, Rasmus Lerdorf wrote:
> > can it be assumed that
> > zval.str.val[zval.str.len] = '\0'?
> >
> > i.e., the byte after the string in a zval is the null-byte?
> >
> > That is assumed in various places in ext/standard/string.c, and AFAIK
> > that may not always be true.
>
>No code in PHP should assume this. PHP should always check the length.
>However, many external libraries that take string arguments are not going
>to be able to check our length property and we therefore should strive to
>null-terminate all strings. I noticed Thies has been going through
>recently and cleaning this up a bit.
>
>-Rasmus
>
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]
--
Zeev Suraski <[EMAIL PROTECTED]>
CTO & co-founder, Zend Technologies Ltd. http://www.zend.com/
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]