Many thanks for the quick response guys. Johannes doing void *u works,
however UChar *u does not. anyways its compiled and working.
Btw- for anybody working with real ldap applications and php, paging
is almost necessary. Any hopes of incorporating this with php6?
Quoting Johannes Schlüter <johannes@php.net>:
> Hi Faraz,
>
> On Mon, 2008-01-07 at 20:53 +0500, Faraz Khan wrote:
>> Dear all,
>> I'm trying to apply the php ldap EXOP patch from :
>>
>> <http://www.sys-net.it/~ando/Download/#PHP>
>>
>> The patch defines a zstr in ldap.c at line 1731 as obvious below. ZSTR
>> no longer appears to be defined anywhere in php or zend.h - can
>> somebody help me with this? Should i just define it manually?
>
> I don't know that patch but a little help: zstr is a PHP 6 type for
> handling unicode and binary strings. So that patch is either missing
> some compatibility code or is only for PHP 6. If you want to adopt it
> either define a zstr using something like
>
> typedef union _zstr {
> char *s;
> /* void *u; -- If you get an error due a missing u component
> of that union either try using a void for it
> or change it to take .s as char* .... */
> void *v;
> } zstr;
>
> or try to change the "zstr foo"s there to "char *foo" and drop
> the .s/.u/.v where that var is being used.
>
> The original declaration of that type can be found here:
> http://lxr.php.net/source/ZendEngine2/zend.h#235
>
> Both ways aren't really good, for more I'd have to check the patch,
> maybe it's best to ask the author of the patch.
>
> johannes
>
>
>
--
Faraz R Khan
Chief Architect
Emergen Consulting Pvt Ltd
www.emergen.biz