Martin v. Löwis <mar...@v.loewis.de> added the comment:

Jesús: this is a (common) mistake. Standard C makes it undefined behavior to 
call a function with an incorrect number of arguments, see 6.5.2.2p9

# If the function is defined with a type that is not compatible with the 
# type (of the expression) pointed to by the expression that denotes the 
# called function, the behavior is undefined.

Two function pointers are compatible if the function types are compatible 
(6.7.5.1p2), which in turn is defined in 6.7.5.3p15,
which is too long to quote here.

Your understanding of the parameter passing convention is not part of the 
language definition. The only way to have more parameters in the call than are 
declared is by means of an ellipsis. 

There is an exception for "old style" (K&R) functions and declarations, but it 
doesn't apply here.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15402>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to