On Tue, 27 Jan 2004, unkno me wrote:

> I am using the zend_parse_parameter function to
> retrieve a string passed to my function like:
>
> char* s, int sl;

You need to use a long for sl here.

>
> zend_parse_parameter(ZEND_NUM_ARGS() TSRMLS_CC,"s", &s,&sl);

Shouldn't it be zend_parse_parameters (with an extra s?)

>
> and then later I am using the memcmp function to test
> 2 strings like:
>
> memcmp(key,s,sl);
>
> but for some reason, the memcmp never return 0
> indicates key and s is the same even I KNOW key and s
> is indeed the same. key and s is always of the same
> length. In fact, even doing a:
>
> fprintf(stderr,"[%s %i]\n",s,sl);
>
> yields different result for s and sl than what's
> really passed to my function. Why is that? Is there a
> bug in the zend_parse_paramter function that I am not
> aware of? I should mention that:
>
> 1. The string is always ASCII
> 2. Sometimes, I do see the expected result but not all
> the time. That's what makes me so confuse.

Might be memory curruption somewhere else, try to run with valgrind to
see if that's the case.

regards,
Derick

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to