Mercurial > emacs
annotate lib-src/getopt1.c @ 42201:46e216716173
In the Etags manual, when comparing the regular expression syntax to
that of Emacs, remove the references to the interval operator, which is
now part of Emacs as well as Etags, and add references to greedy
operators and shy groups, which are now part of Emacs, but not of Etags.
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Thu, 20 Dec 2001 09:14:27 +0000 |
parents | 134b57acef68 |
children | 08f82ce16ede |
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. |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
4 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
|
5 Bugs can be reported to bug-glibc@gnu.org. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
6 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
7 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
|
8 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
|
9 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
|
10 later version. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
11 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
12 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
|
13 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
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
15 GNU General Public License for more details. |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
16 |
17965
2ef01cc793bf
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
17964
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
21501
diff
changeset
|
18 along with this program; if not, write to the Free Software Foundation, |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
21501
diff
changeset
|
19 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
20 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
21 #ifdef HAVE_CONFIG_H |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
22 #include <config.h> |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
21501
diff
changeset
|
23 #else |
21500
4c72cf4eeedb
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
17965
diff
changeset
|
24 #if !defined __STDC__ || !__STDC__ |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
25 /* This is a separate conditional since some stdc systems |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
26 reject `defined (const)'. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
27 #ifndef const |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
28 #define const |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
29 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
30 #endif |
26083
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
21501
diff
changeset
|
31 #endif |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
21501
diff
changeset
|
32 |
134b57acef68
Add support for large files. Merge glibc 2.1.2.
Paul Eggert <eggert@twinsun.com>
parents:
21501
diff
changeset
|
33 #include "getopt.h" |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
34 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
35 #include <stdio.h> |
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 /* 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
|
38 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
|
39 Library, but also included in many other GNU distributions. Compiling |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
40 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
|
41 (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
|
42 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
|
43 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
|
44 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
45 #define GETOPT_INTERFACE_VERSION 2 |
21500
4c72cf4eeedb
automatically generated from GPLed version
Ulrich Drepper <drepper@redhat.com>
parents:
17965
diff
changeset
|
46 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 |
16921
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
47 #include <gnu-versions.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
48 #if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
49 #define ELIDE_CODE |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
50 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
51 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
52 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
53 #ifndef ELIDE_CODE |
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 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
56 /* This needs to come after some library #include |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
57 to get __GNU_LIBRARY__ defined. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
58 #ifdef __GNU_LIBRARY__ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
59 #include <stdlib.h> |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
60 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
61 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
62 #ifndef NULL |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
63 #define NULL 0 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
64 #endif |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
65 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
66 int |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
67 getopt_long (argc, argv, options, long_options, opt_index) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
68 int argc; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
69 char *const *argv; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
70 const char *options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
71 const struct option *long_options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
72 int *opt_index; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
73 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
74 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
|
75 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
76 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
77 /* 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
|
78 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
|
79 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
|
80 instead. */ |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
81 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
82 int |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
83 getopt_long_only (argc, argv, options, long_options, opt_index) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
84 int argc; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
85 char *const *argv; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
86 const char *options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
87 const struct option *long_options; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
88 int *opt_index; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
89 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
90 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
|
91 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
92 |
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 #endif /* Not ELIDE_CODE. */ |
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 #ifdef TEST |
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 #include <stdio.h> |
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 int |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
101 main (argc, argv) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
102 int argc; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
103 char **argv; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
104 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
105 int c; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
106 int digit_optind = 0; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
107 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
108 while (1) |
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 int this_option_optind = optind ? optind : 1; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
111 int option_index = 0; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
112 static struct option long_options[] = |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
113 { |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
114 {"add", 1, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
115 {"append", 0, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
116 {"delete", 1, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
117 {"verbose", 0, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
118 {"create", 0, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
119 {"file", 1, 0, 0}, |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
120 {0, 0, 0, 0} |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
121 }; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
122 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
123 c = getopt_long (argc, argv, "abc:d:0123456789", |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
124 long_options, &option_index); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
125 if (c == -1) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
126 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
127 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
128 switch (c) |
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 case 0: |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
131 printf ("option %s", long_options[option_index].name); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
132 if (optarg) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
133 printf (" with arg %s", optarg); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
134 printf ("\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
135 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
136 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
137 case '0': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
138 case '1': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
139 case '2': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
140 case '3': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
141 case '4': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
142 case '5': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
143 case '6': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
144 case '7': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
145 case '8': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
146 case '9': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
147 if (digit_optind != 0 && digit_optind != this_option_optind) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
148 printf ("digits occur in two different argv-elements.\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
149 digit_optind = this_option_optind; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
150 printf ("option %c\n", c); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
151 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
152 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
153 case 'a': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
154 printf ("option a\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
155 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
156 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
157 case 'b': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
158 printf ("option b\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
159 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
160 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
161 case 'c': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
162 printf ("option c with value `%s'\n", optarg); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
163 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
164 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
165 case 'd': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
166 printf ("option d with value `%s'\n", optarg); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
167 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
168 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
169 case '?': |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
170 break; |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
171 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
172 default: |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
173 printf ("?? getopt returned character code 0%o ??\n", c); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
174 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
175 } |
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 if (optind < argc) |
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 printf ("non-option ARGV-elements: "); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
180 while (optind < argc) |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
181 printf ("%s ", argv[optind++]); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
182 printf ("\n"); |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
183 } |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
184 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
185 exit (0); |
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 |
4b61c355492b
automatically generated from GPLed version
Paul Eggert <eggert@twinsun.com>
parents:
diff
changeset
|
188 #endif /* TEST */ |