/* See LICENSE file for copyright and license details. */ #include #include #define X(DASH, UNDERSCORE) int main__##UNDERSCORE(int, char *[]); LIST_COMMANDS #undef X char *argv0 = NULL; int main(int argc, char *argv[]) { const char *name; name = strrchr(*argv, '/'); if (!name++) name = *argv; #define X(DASH, UNDERSCORE)\ if (!strcmp(name, #DASH))\ return main__##UNDERSCORE(argc, argv); LIST_COMMANDS; #undef X fprintf(stderr, "%s: unrecognised command for multicall binary\n", *argv); return 127; }