use getargs

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5812 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1999-04-01 09:13:52 +00:00
parent 228206d224
commit 1158e704bc

View File

@@ -38,6 +38,7 @@
#undef ROKEN_RENAME #undef ROKEN_RENAME
#include "compile_et.h" #include "compile_et.h"
#include <getarg.h>
RCSID("$Id$"); RCSID("$Id$");
@@ -179,27 +180,50 @@ generate(void)
return generate_c() || generate_h(); return generate_c() || generate_h();
} }
int version_flag;
int help_flag;
struct getargs args[] = {
{ "version", 0, arg_flag, &version_flag },
{ "help", 0, arg_flag, &help_flag }
};
int num_args = sizeof(args) / sizeof(args[0]);
static void
usage(int code)
{
arg_printusage(args, num_args, NULL, "error-table");
exit(code);
}
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
char *p; char *p;
set_progname(argv[0]); int optind = 0;
if(argc != 2) { set_progname(argv[0]);
fprintf(stderr, "Usage: %s error_table\n", __progname); if(getarg(args, num_args, argc, argv, &optind))
exit(1); usage(1);
if(help_flag)
usage(0);
if(version_flag) {
print_version(NULL);
exit(0);
} }
filename = argv[1];
if(optind == argc)
usage(1);
filename = argv[optind];
yyin = fopen(filename, "r"); yyin = fopen(filename, "r");
if(yyin == NULL) if(yyin == NULL)
err(1, "%s", filename); err(1, "%s", filename);
p = strrchr(argv[1], '/'); p = strrchr(filename, '/');
if(p) if(p)
p++; p++;
else else
p = argv[1]; p = filename;
strncpy(Basename, p, sizeof(Basename)); strncpy(Basename, p, sizeof(Basename));
Basename[sizeof(Basename) - 1] = '\0'; Basename[sizeof(Basename) - 1] = '\0';