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

Reply via email to