Is there any way to make this code shorter?
long call_f(int argc, long *argv) { switch (argc) { case 0: return f(); break; case 1:
You can check out my answer to:
Best Way to Store a va_list for Later Use in C/C++
Which seems to work, yet scare people. It's not guaranteed cross-platform or portable, but it seems to be workable on a couple of platforms, at least. ;)