2 * Copyright (c) 1995, Index Data
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.4 1995-09-29 17:12:35 quinn
10 * Revision 1.3 1995/09/27 15:03:03 quinn
11 * Modified function heads & prototypes.
13 * Revision 1.2 1995/05/16 08:51:13 quinn
14 * License, documentation, and memory fixes
16 * Revision 1.1 1995/03/27 08:35:18 quinn
17 * Created util library
18 * Added memory debugging module. Imported options-manager
20 * Revision 1.2 1994/10/04 17:47:10 adam
21 * Function options now returns arg with error option.
23 * Revision 1.1 1994/08/16 15:57:22 adam
24 * The first utility modules.
31 static int arg_no = 1;
32 static int arg_off = 0;
34 int options (const char *desc, char **argv, int argc, char **arg)
42 if (argv[arg_no][0] != '-')
44 *arg = argv[arg_no++];
49 ch = argv[arg_no][arg_off++];
52 int desc_char = desc[i++];
55 { /* string argument */
59 { /* option with argument */
62 if (argv[arg_no][arg_off])
64 *arg = argv[arg_no]+arg_off;
73 *arg = argv[arg_no++];
78 else /* option with no argument */
80 if (argv[arg_no][arg_off])
91 *arg = argv[arg_no]+arg_off-1;