What was the problem with NULL_ZSTR? Dmitry.
> -----Original Message----- > From: Andrei Zmievski [mailto:[EMAIL PROTECTED] > Sent: Tuesday, April 25, 2006 1:35 AM > To: PHP Internals > Cc: Dmitry Stogov; Frank M. Kromann > Subject: ZSTR and NULL problems again > > > After Frank's latest changes, HEAD doesn't compile under gcc 2.95 > anymore: > > /homes/andrei/dev/php-src/ext/spl/spl_directory.c:1359: cast to union > type from type not present in union > > That line is: > > buf = php_stream_get_line(intern->u.file.stream, NULL, 0, > &line_len); > > Definition of php_stream_get_line(): > > #define php_stream_get_line(stream, buf, maxlen, retlen) > _php_stream_get_line((stream), IS_STRING, ZSTR(buf), (maxlen), 0, > (retlen) TSRMLS_CC) > > And under GCC ZSTR is defined as: > > typedef union _zstr { > char *s; > UChar *u; > void *v; > } zstr; > > #ifdef __GNUC__ > # define ZSTR(x) ((zstr)(x)) > # define NULL_ZSTR ZSTR((void*)NULL) > # define EMPTY_ZSTR ZSTR("\0\0") > > So, do we have to pass (void*)NULL everywhere now? Or can we > do this in > a cross-platform way somehow? > > -Andrei > > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php