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.
>PHP Development Mailing List <>
>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.

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to