you are quoting c99… and we are still using "c90" mode, as far as I remember
On 11/27/07, Stanislav Malyshev <[EMAIL PROTECTED]> wrote: > > a global struct is filled up with NULL/0's while a local struct is not > > initialized at all. The patch simply provides more correct code and even > > That's not what I read in C standard - it says that if struct is > partially initialized, the rest is zeroed out: > > Quoting http://c0x.coding-guidelines.com/6.7.8.html: > > 1671 If there are fewer initializers in a brace-enclosed list than there > are elements or members of an aggregate, or fewer characters in a string > literal used to initialize an array of known size than there are > elements in the array, the remainder of the aggregate shall be > initialized implicitly the same as objects that have static storage > duration. > > 1642 If an object that has static storage duration is not initialized > explicitly, then: > 1643 — if it has pointer type, it is initialized to a null pointer; > 1644 — if it has arithmetic type, it is initialized to (positive or > unsigned) zero; > 1645 — if it is an aggregate, every member is initialized (recursively) > according to these rules; > 1646 — if it is a union, the first named member is initialized > (recursively) according to these rule > > All compilers I know do behave this way. Do not confuse partial > initialization wiht no initialization at all, of course. > -- > Stanislav Malyshev, Zend Software Architect > [EMAIL PROTECTED] http://www.zend.com/ > (408)253-8829 MSN: [EMAIL PROTECTED] > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Alexey Zakhlestin http://blog.milkfarmsoft.com/