Now I know we are talking past each other. A very small experiment shows that main does not accept extra args:
int main() { int done;
if(!done) { done=1; main(1,({}),({}),1,1,1,1); } }
multiarg.pike:7:Too many arguments to main. multiarg.pike:7:Expected: function( : int) multiarg.pike:7:Got : function(int(1..1), array(zero), array(zero), int(1..1), int(1..1), int(1..1), int(1..1) : void | mixed)
/ Peter Bortas
Previous text:
2003-01-04 18:27: Subject: Too many arguments
Wrong. main() will get 3 arguments, which is more than the 0 required by its type. main() will thus have to accept more arguments than needed without throwing an error.
/ Henrik Grubbström (Lysator)