Hi.

>From what I understand about the argument list for
zend_parse_parameters(), you separate optional parameters from
mandatory ones using pipe (|).

e.g.

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lll|llll", &m,
&d, &y, &h, &n, &s, &ms) == FAILURE) {

In the above example, this says that there are 3 mandatory parameters
and upto 4 optional parameters.

The prototype for this looks like ...

proto bool myExampleDateFunc(int month, int day, int year, [int hour
[, int min [, int sec [,int msec]]]])

Is there a way to make the prototype ...

proto bool myExampleDateFunc(int month, int day, int year, [int hour,
int min, int sec[, int msec]])

So, making this function accept 3 or 6 or 7 parameters only.

I'm guessing not, but I'm guessing. I think this has to be checked using ...

switch (ZEND_NUM_ARGS()) {

after parsing the parameters and generate an error for ZEND_NUM_ARGS = 4 or 5.

Regards,

Richard.

-- 
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"

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

Reply via email to