Yeah, I know. I just figured I was missing some of
the erudite PV magic
in the fixup functions I was looking at, and that it is somehow able to
tell whether the parameter in the middle is optional or not via some
sort of crude scheme. Your interpretation confirms my suspicion that it
in fact cannot.
Henning Westerholt wrote:
On Wednesday 08 April 2009, Alex Balashov wrote:
The
optional parameter should be always the last one(s), as its
not possible to ommit a parameter from the middle of the given list.
That's what I thought too, and wondered how the config lexer and
fixup
functions magically get around this problem.
Normally there is not that much magic, its a simple array of parameters
that
get filled, and then the module fixup functions are called for each of them.
sr_module.h: typedef int (*cmd_function)(struct sip_msg*, char*, char*, char*,
char*, char*, char*);
But i did not wrote this code, perhaps one of the authors can comment here
too.
Cheers,
Henning