Mercurial > emacs
annotate lib-src/getopt1.c @ 26059:2a7f35e0072b
(Fminibuffer_complete_and_exit): Supply value for new
ESCAPE_FROM_EDGE parameter to Ffield_beginning.
(Fminibuffer_complete_word): Use
Ffield_beginning to find the prompt end.
(Fminibuffer_complete_and_exit): Test for an empty
input string by seeing where the field begins, instead of
looking at text-properties.
(read_minibuf): Don't save minibuffer prompt length on
minibuf_save_list.
Don't initialize minibuffer prompt length.
Wrap prompt text-properties around the entire prompt.
Add 'prompt text-property to prompt.
Get final value with Ffield_string instead of make_buffer_string.
(read_minibuf_unwind): Don't restore minibuffer prompt length from
minibuf_save_list.
(do_completion): Get minibuffer input with Ffield_string
instead of Fbuffer_string.
Erase minibuffer input with Ferase_field instead of erase_buffer.
(Fminibuffer_complete_and_exit): Likewise.
Test whether buffer is empty by looking for the 'prompt text
property at the end.
Set prompt length by looking for the end of the prompt text property,
and save prompt length for later use (since there is no longer a
buffer variable to get it from).
(Fminibuffer_prompt_width, Fminibuffer_prompt_end): Functions removed.
(syms_of_minibuf): Remove initializations of
Sminibuffer_prompt_width and Sminibuffer_prompt_end.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sun, 17 Oct 1999 12:55:49 +0000 |
parents | c8c409640bf3 |
children | 134b57acef68 |
rev | line source |
---|---|
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
1 /* getopt_long and getopt_long_only entry points for GNU getopt. |
21500
4c72cf4eeedb
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
17965
diff
changeset
|
2 Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98 |
4c72cf4eeedb
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
17965
diff
changeset
|
3 Free Software Foundation, Inc. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
4 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
5 NOTE: The canonical source of this file is maintained with the GNU C Library. |
21501
c8c409640bf3
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
21500
diff
changeset
|
6 Bugs can be reported to bug-glibc@gnu.org. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
7 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
8 This program is free software; you can redistribute it and/or modify it |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
9 under the terms of the GNU General Public License as published by the |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
10 Free Software Foundation; either version 2, or (at your option) any |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
11 later version. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
12 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
13 This program is distributed in the hope that it will be useful, |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
16 GNU General Public License for more details. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
17 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
19 along with this program; if not, write to the Free Software |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
21 USA. */ |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
22 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
23 #ifdef HAVE_CONFIG_H |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
24 #include <config.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
25 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
26 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
27 #include "getopt.h" |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
28 |
21500
4c72cf4eeedb
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
17965
diff
changeset
|
29 #if !defined __STDC__ || !__STDC__ |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
30 /* This is a separate conditional since some stdc systems |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
31 reject `defined (const)'. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
32 #ifndef const |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
33 #define const |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
34 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
35 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
36 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
37 #include <stdio.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
38 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
39 /* Comment out all this code if we are using the GNU C Library, and are not |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
40 actually compiling the library itself. This code is part of the GNU C |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
41 Library, but also included in many other GNU distributions. Compiling |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
42 and linking in this code is a waste when using the GNU C library |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
43 (especially if it is a shared library). Rather than having every GNU |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
44 program understand `configure --with-gnu-libc' and omit the object files, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
45 it is simpler to just do this in the source for each such file. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
46 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
47 #define GETOPT_INTERFACE_VERSION 2 |
21500
4c72cf4eeedb
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
17965
diff
changeset
|
48 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
49 #include <gnu-versions.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
50 #if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
51 #define ELIDE_CODE |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
52 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
53 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
54 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
55 #ifndef ELIDE_CODE |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
56 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
57 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
58 /* This needs to come after some library #include |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
59 to get __GNU_LIBRARY__ defined. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
60 #ifdef __GNU_LIBRARY__ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
61 #include <stdlib.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
62 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
63 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
64 #ifndef NULL |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
65 #define NULL 0 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
66 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
67 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
68 int |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
69 getopt_long (argc, argv, options, long_options, opt_index) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
70 int argc; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
71 char *const *argv; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
72 const char *options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
73 const struct option *long_options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
74 int *opt_index; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
75 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
76 return _getopt_internal (argc, argv, options, long_options, opt_index, 0); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
77 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
78 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
79 /* Like getopt_long, but '-' as well as '--' can indicate a long option. |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
80 If an option that starts with '-' (not '--') doesn't match a long option, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
81 but does match a short option, it is parsed as a short option |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
82 instead. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
83 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
84 int |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
85 getopt_long_only (argc, argv, options, long_options, opt_index) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
86 int argc; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
87 char *const *argv; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
88 const char *options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
89 const struct option *long_options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
90 int *opt_index; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
91 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
92 return _getopt_internal (argc, argv, options, long_options, opt_index, 1); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
93 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
94 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
95 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
96 #endif /* Not ELIDE_CODE. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
97 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
98 #ifdef TEST |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
99 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
100 #include <stdio.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
101 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
102 int |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
103 main (argc, argv) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
104 int argc; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
105 char **argv; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
106 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
107 int c; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
108 int digit_optind = 0; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
109 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
110 while (1) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
111 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
112 int this_option_optind = optind ? optind : 1; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
113 int option_index = 0; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
114 static struct option long_options[] = |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
115 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
116 {"add", 1, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
117 {"append", 0, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
118 {"delete", 1, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
119 {"verbose", 0, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
120 {"create", 0, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
121 {"file", 1, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
122 {0, 0, 0, 0} |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
123 }; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
124 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
125 c = getopt_long (argc, argv, "abc:d:0123456789", |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
126 long_options, &option_index); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
127 if (c == -1) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
128 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
129 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
130 switch (c) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
131 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
132 case 0: |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
133 printf ("option %s", long_options[option_index].name); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
134 if (optarg) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
135 printf (" with arg %s", optarg); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
136 printf ("\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
137 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
138 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
139 case '0': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
140 case '1': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
141 case '2': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
142 case '3': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
143 case '4': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
144 case '5': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
145 case '6': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
146 case '7': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
147 case '8': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
148 case '9': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
149 if (digit_optind != 0 && digit_optind != this_option_optind) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
150 printf ("digits occur in two different argv-elements.\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
151 digit_optind = this_option_optind; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
152 printf ("option %c\n", c); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
153 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
154 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
155 case 'a': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
156 printf ("option a\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
157 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
158 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
159 case 'b': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
160 printf ("option b\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
161 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
162 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
163 case 'c': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
164 printf ("option c with value `%s'\n", optarg); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
165 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
166 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
167 case 'd': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
168 printf ("option d with value `%s'\n", optarg); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
169 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
170 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
171 case '?': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
172 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
173 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
174 default: |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
175 printf ("?? getopt returned character code 0%o ??\n", c); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
176 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
177 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
178 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
179 if (optind < argc) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
180 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
181 printf ("non-option ARGV-elements: "); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
182 while (optind < argc) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
183 printf ("%s ", argv[optind++]); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
184 printf ("\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
185 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
186 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
187 exit (0); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
188 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
189 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
190 #endif /* TEST */ |