On Jun 28, 2008, at 11:42 PM, Jordan Wambaugh wrote:


On Jun 28, 2008, at 3:20 PM, David Coallier wrote:

2008/6/28 Jordan Wambaugh <[EMAIL PROTECTED]>:

On Jun 28, 2008, at 7:27 AM, David Coallier wrote:

The idea of the new parsing parameter is to catch the number of
parameters as well. For instance when you have

   if (ZEND_NUM_ARGS() < 2) {
           WRONG_PARAM_COUNT;
   }

then your zend parse param function call should have 2 params or more
Ex:

int argc;
char *name;
zval **other;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sZ", &name,
&other, &argc) == FAILURE) {
    return;
}

This way of parsing the parameters remove the ZEND_NUM_ARGS() and
WRONG_PARAM_COUNT and adds consistency in the return error messages
across the language.

Also next time please read the previous entries of the thread :

See: http://url.ie/hck  that was about the 3rd or 4th message.

Anyways that's ok, I lot of conflicts now in formatted_print.c and
assert.c but I'll work around them to get the resolved. We just have to get organized on which files we'll be working on then. Right now, Olivier is working on file.c and has done string.c so please don't do
those 2 files.

Ok, sorry, I didn't catch the thread where you said you were going to work on standard. Do you want me to fix it so I'm not checking ZEND_NUM_ARGS, or
should I just leave that to you?

Go ahead, you are pretty well started, I'll adjust after you are done :)



Alright, I rewrote my patches for basic_functions.c, assert.c, and formatted_print.c (attached) a few notes:

fprintf and vsprintf - I'm not sure if this is the appropriate way to work with a variable number of parameters, please let me know if there is a better way. Also, because zend_parse_parameters is generating a different error message if you don't pass enough parameters, the *_error tests are failing. I didn't want to change any of the tests until my patch has been reviewed, in case changes need to be made. Also, set_magic_quotes_runtime is not issuing a deprecated warning, but the test is expecting it, causing some tests to fail. I noticed in the documentation (http://us3.php.net/manual/en/function.set-magic-quotes-runtime.php ) that its not documented as being deprecated, so I'm not sure what the expectation should be in the test.


I noticed a couple problems in my patch for error_log (a memory leak, for example). Here's a new version of the complete patch with those issues corrected.


--
Jordan CM Wambaugh



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

Reply via email to