_ARGS_ is used to pass arguments into a func, in a generic way.
This is used here to allow non-ANSI as well as ANSI C compilers to compile the program successfully.
Old non-ANSI C style functions were defined like :
But ANSI C uses the following style :
int sum(int a, int b)
So, what exactly is done here is, no specific style is adopted, rather the arguments are passed in a generic method by using _ARGS_.
Then using the #ifdef, we check if ANSI style can be used.
If so, we define the func in ANSI C style using the arguments passed through _ARGS_, else we define the func in non-ANSI C style using the arguments passed through _ARGS_.