From add8821e99b4ea1b574ed469018ae224a542e6ae Mon Sep 17 00:00:00 2001 From: Michael Zucci Date: Mon, 14 Feb 2000 02:00:22 +0000 Subject: Initial revision svn path=/trunk/; revision=1768 --- libibex/mkindex.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 libibex/mkindex.c (limited to 'libibex/mkindex.c') diff --git a/libibex/mkindex.c b/libibex/mkindex.c new file mode 100644 index 0000000000..8018caef69 --- /dev/null +++ b/libibex/mkindex.c @@ -0,0 +1,75 @@ +/* + Copyright 2000 Helix Code Inc. +*/ +/* mkindex.c: a simple client, part 1 */ + +#include +#include +#include +#include + +#include "ibex.h" + +extern int optind; +extern char *optarg; + +static void +usage(void) +{ + fprintf(stderr, "Usage: mkindex [-f indexfile] file ...\n"); + exit(1); +} + +int +main(int argc, char **argv) +{ + ibex *ib; + int opt; + char *file = "INDEX"; + + while ((opt = getopt(argc, argv, "f:")) != -1) + { + switch (opt) + { + case 'f': + file = optarg; + break; + + default: + usage(); + break; + } + } + argc -= optind; + argv += optind; + + if (argc == 0) + usage(); + + ib = ibex_open(file, TRUE); + if (!ib) + { + fprintf(stderr, "Couldn't open index file %s: %s\n", + file, strerror(errno)); + exit(1); + } + + while (argc--) + { + if (ibex_index_file(ib, argv[argc]) == -1) + { + fprintf(stderr, "Couldn't index %s: %s\n", argv[argc], + strerror(errno)); + exit(1); + } + } + + + if (ibex_close(ib) != 0) + { + fprintf(stderr, "Failed to write index file %s: %s\n", + file, strerror(errno)); + exit(1); + } + exit(0); +} -- cgit v1.2.3