Re: New package: Functional PHP
| From: | Richard Quadling | Date: | Fri, 10 Jun 2011 12:06:32 +0000 |
| Subject: | Re: New package: Functional PHP | ||
| References: | 1 2 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-8347@lists.php.net to get a copy of this message | ||
On 10 June 2011 12:39, Lars Strojny <lars@strojny.net> wrote:
> Hi Richard,
>
> Am 10.06.11 12:56 schrieb "Richard Quadling" unter <rquadling@gmail.com>:
>
>>Removed flags, but the errors are still present.
>
> Please try again.
>
>>Is the github uptodate?
>
> Yes.
>
>>Also, is there any chance you could move the content of extension to
>>the root, that way, it will fit into pecl with the tests as a
>>sub-directory - though looking at the tests, these aren't in the same
>>format as those used by core and pecl - phpt files
>
> What’s needed is a package.xml to allow building via „pecl install <ext>“.
> Haven’t found time to do that yet, but it is on the TODO list (now even
> officially).
>
> With regards,
> Lars
>
>
>
The errors still stand and still because of the location of the declarations.
The compiler is throwing
..\pecl\functional-php\functional.c(786) : error C2275:
'zend_object_iterator' : illegal use of this type as an expression
d:\buildphp\php-src\vc9\x86\php_5_3\zend\zend_iterators.h(29)
: see declaration of 'zend_object_iterator'
That line is ...
FUNCTIONAL_ITERATOR_PREPARE
which is expanded to ...
zend_object_iterator *iter; \
zend_class_entry *ce = Z_OBJCE_P(collection); \
iter = ce->get_iterator(ce, collection, 0 TSRMLS_CC); \
if (EG(exception)) { \
goto done; \
} \
if (iter->funcs->rewind) { \
iter->funcs->rewind(iter TSRMLS_CC); \
if (EG(exception)) { \
goto done; \
} \
}
And the first line there is a declaration for the zend_object_iterator *iter;
I replaced that line with the actual macro code and moved the
declaration to the top of the function.
Then I had to move out ...
zend_class_entry *ce = Z_OBJCE_P(collection);
And I get a build!
Forked https://github.com/RQuadling/functional-php
I don't know enough about git to commit my changes from my machine - I
just edited functional.c with git.
Need to learn more. How do I get config.w32 into my fork?
--
Richard Quadling
Twitter : EE : Zend : PHPDoc
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea