Added usage message, added usage-then-exit function for error and non-error cases

Fortune for naka's current commit: Curse − 凶
generic-project-skeleton
Avril 3 years ago
parent 701601f5cd
commit 56870bde45
Signed by: flanchan
GPG Key ID: 284488987C31F630

@ -10,18 +10,46 @@
#include <tests.h> #include <tests.h>
// TODO: Have Makefile define these, or import them from Makefile defines.
#define PROG_NAME "naka"
#define PROG_DESCRIPTION "find a file within other file(s)"
#define PROG_AUTHOUR "Avril <flanchan@cumallover.me>"
#define PROG_LICENSE "GPL3+"
#define PROG_VERSION VERSION(0,0,0,0)
void prog_info(FILE* out)
{
fprintf(out, PROG_NAME " v%s - " PROG_DESCRIPTION
"\n written by %s with <3\n license %s.\n",
v_ctoss(v_rawtoc(PROG_VERSION)),
PROG_AUTHOUR,
PROG_LICENSE);
}
int main(int argc, char** argv) void usage(FILE* out, int argc, char** argv)
{ {
IGNORE(argc); IGNORE(argc);
IGNORE(argv);
INFO("main start"); prog_info(out);
fprintf(out, "\nUsage: %s <needle> <haystack(s)...>\n", argv[0] ?: PROG_NAME);
}
// err: 0 for normal exit and print to stdout.
// err: nonzero for abnormal exit and print to stderr.
noreturn void usage_then_exit(int err, int argc, char** argv)
{
usage( err ? stderr : stdout, argc, argv);
exit(err);
}
//INFO("Hello world %lu %lu %lu!", i, bswap(i), bswap(bswap(i))); int main(int argc, char** argv)
//INFO("Version: 0x%x (0x%x)", vers, bswap(vers)); // Check which version endian was preferrable, we'll stick with the default system endian (little, for this one.) {
INFO("main start");
usage_then_exit(0, argc, argv);
INFO("main end"); INFO("main end");
return 0; return 0;
} }

Loading…
Cancel
Save