This file is indexed.

/usr/share/doc/libofx-doc/html/fx-0_89_84_2lib_2getopt1_8c_source.html is in libofx-doc 1:0.9.4-2.1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>LibOFX: getopt1.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LibOFX</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('fx-0_89_84_2lib_2getopt1_8c.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<h1>getopt1.c</h1>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* getopt_long and getopt_long_only entry points for GNU getopt.</span>
<a name="l00002"></a>00002 <span class="comment">   Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98</span>
<a name="l00003"></a>00003 <span class="comment">     Free Software Foundation, Inc.</span>
<a name="l00004"></a>00004 <span class="comment">   This file is part of the GNU C Library.</span>
<a name="l00005"></a>00005 <span class="comment"></span>
<a name="l00006"></a>00006 <span class="comment">   The GNU C Library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment">   modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment">   License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment">   version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"></span>
<a name="l00011"></a>00011 <span class="comment">   The GNU C Library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment">   but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment">   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00014"></a>00014 <span class="comment">   Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment">   You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment">   License along with the GNU C Library; if not, write to the Free</span>
<a name="l00018"></a>00018 <span class="comment">   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA</span>
<a name="l00019"></a>00019 <span class="comment">   02111-1307 USA.  */</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifdef HAVE_CONFIG_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#include &lt;config.h&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;getopt.h&quot;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#if !defined __STDC__ || !__STDC__</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="comment">/* This is a separate conditional since some stdc systems</span>
<a name="l00029"></a>00029 <span class="comment">   reject `defined (const)&#39;.  */</span>
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef const</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define const</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="comment">/* Comment out all this code if we are using the GNU C Library, and are not</span>
<a name="l00038"></a>00038 <span class="comment">   actually compiling the library itself.  This code is part of the GNU C</span>
<a name="l00039"></a>00039 <span class="comment">   Library, but also included in many other GNU distributions.  Compiling</span>
<a name="l00040"></a>00040 <span class="comment">   and linking in this code is a waste when using the GNU C library</span>
<a name="l00041"></a>00041 <span class="comment">   (especially if it is a shared library).  Rather than having every GNU</span>
<a name="l00042"></a>00042 <span class="comment">   program understand `configure --with-gnu-libc&#39; and omit the object files,</span>
<a name="l00043"></a>00043 <span class="comment">   it is simpler to just do this in the source for each such file.  */</span>
<a name="l00044"></a>00044 
<a name="l00045"></a>00045 <span class="preprocessor">#define GETOPT_INTERFACE_VERSION 2</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#if !defined _LIBC &amp;&amp; defined __GLIBC__ &amp;&amp; __GLIBC__ &gt;= 2</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#include &lt;gnu-versions.h&gt;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define ELIDE_CODE</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span>
<a name="l00053"></a>00053 <span class="preprocessor">#ifndef ELIDE_CODE</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
<a name="l00055"></a>00055 
<a name="l00056"></a>00056 <span class="comment">/* This needs to come after some library #include</span>
<a name="l00057"></a>00057 <span class="comment">   to get __GNU_LIBRARY__ defined.  */</span>
<a name="l00058"></a>00058 <span class="preprocessor">#ifdef __GNU_LIBRARY__</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00062"></a>00062 <span class="preprocessor">#ifndef NULL</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define NULL 0</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>
<a name="l00066"></a>00066 <span class="keywordtype">int</span>
<a name="l00067"></a>00067 getopt_long (argc, argv, options, long_options, opt_index)
<a name="l00068"></a>00068      int argc;
<a name="l00069"></a>00069      <span class="keywordtype">char</span> *const *argv;
<a name="l00070"></a>00070      const <span class="keywordtype">char</span> *options;
<a name="l00071"></a>00071      const struct <a class="code" href="structoption.html">option</a> *long_options;
<a name="l00072"></a>00072      <span class="keywordtype">int</span> *opt_index;
<a name="l00073"></a>00073 {
<a name="l00074"></a>00074   <span class="keywordflow">return</span> _getopt_internal (argc, argv, options, long_options, opt_index, 0);
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 <span class="comment">/* Like getopt_long, but &#39;-&#39; as well as &#39;--&#39; can indicate a long option.</span>
<a name="l00078"></a>00078 <span class="comment">   If an option that starts with &#39;-&#39; (not &#39;--&#39;) doesn&#39;t match a long option,</span>
<a name="l00079"></a>00079 <span class="comment">   but does match a short option, it is parsed as a short option</span>
<a name="l00080"></a>00080 <span class="comment">   instead.  */</span>
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 <span class="keywordtype">int</span>
<a name="l00083"></a>00083 getopt_long_only (argc, argv, options, long_options, opt_index)
<a name="l00084"></a>00084      int argc;
<a name="l00085"></a>00085      <span class="keywordtype">char</span> *const *argv;
<a name="l00086"></a>00086      const <span class="keywordtype">char</span> *options;
<a name="l00087"></a>00087      const struct <a class="code" href="structoption.html">option</a> *long_options;
<a name="l00088"></a>00088      <span class="keywordtype">int</span> *opt_index;
<a name="l00089"></a>00089 {
<a name="l00090"></a>00090   <span class="keywordflow">return</span> _getopt_internal (argc, argv, options, long_options, opt_index, 1);
<a name="l00091"></a>00091 }
<a name="l00092"></a>00092 
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 <span class="preprocessor">#endif  </span><span class="comment">/* Not ELIDE_CODE.  */</span>
<a name="l00095"></a>00095 
<a name="l00096"></a>00096 <span class="preprocessor">#ifdef TEST</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span>
<a name="l00098"></a>00098 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00099"></a>00099 
<a name="l00100"></a>00100 <span class="keywordtype">int</span>
<a name="l00101"></a>00101 <a class="code" href="ofxdump_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (argc, argv)
<a name="l00102"></a>00102      int argc;
<a name="l00103"></a>00103      <span class="keywordtype">char</span> **argv;
<a name="l00104"></a>00104 {
<a name="l00105"></a>00105   <span class="keywordtype">int</span> c;
<a name="l00106"></a>00106   <span class="keywordtype">int</span> digit_optind = 0;
<a name="l00107"></a>00107 
<a name="l00108"></a>00108   <span class="keywordflow">while</span> (1)
<a name="l00109"></a>00109     {
<a name="l00110"></a>00110       <span class="keywordtype">int</span> this_option_optind = optind ? optind : 1;
<a name="l00111"></a>00111       <span class="keywordtype">int</span> option_index = 0;
<a name="l00112"></a>00112       <span class="keyword">static</span> <span class="keyword">struct </span><a class="code" href="structoption.html">option</a> long_options[] =
<a name="l00113"></a>00113       {
<a name="l00114"></a>00114         {<span class="stringliteral">&quot;add&quot;</span>, 1, 0, 0},
<a name="l00115"></a>00115         {<span class="stringliteral">&quot;append&quot;</span>, 0, 0, 0},
<a name="l00116"></a>00116         {<span class="stringliteral">&quot;delete&quot;</span>, 1, 0, 0},
<a name="l00117"></a>00117         {<span class="stringliteral">&quot;verbose&quot;</span>, 0, 0, 0},
<a name="l00118"></a>00118         {<span class="stringliteral">&quot;create&quot;</span>, 0, 0, 0},
<a name="l00119"></a>00119         {<span class="stringliteral">&quot;file&quot;</span>, 1, 0, 0},
<a name="l00120"></a>00120         {0, 0, 0, 0}
<a name="l00121"></a>00121       };
<a name="l00122"></a>00122 
<a name="l00123"></a>00123       c = getopt_long (argc, argv, <span class="stringliteral">&quot;abc:d:0123456789&quot;</span>,
<a name="l00124"></a>00124                        long_options, &amp;option_index);
<a name="l00125"></a>00125       <span class="keywordflow">if</span> (c == -1)
<a name="l00126"></a>00126         <span class="keywordflow">break</span>;
<a name="l00127"></a>00127 
<a name="l00128"></a>00128       <span class="keywordflow">switch</span> (c)
<a name="l00129"></a>00129         {
<a name="l00130"></a>00130         <span class="keywordflow">case</span> 0:
<a name="l00131"></a>00131           printf (<span class="stringliteral">&quot;option %s&quot;</span>, long_options[option_index].name);
<a name="l00132"></a>00132           <span class="keywordflow">if</span> (optarg)
<a name="l00133"></a>00133             printf (<span class="stringliteral">&quot; with arg %s&quot;</span>, optarg);
<a name="l00134"></a>00134           printf (<span class="stringliteral">&quot;\n&quot;</span>);
<a name="l00135"></a>00135           <span class="keywordflow">break</span>;
<a name="l00136"></a>00136 
<a name="l00137"></a>00137         <span class="keywordflow">case</span> <span class="charliteral">&#39;0&#39;</span>:
<a name="l00138"></a>00138         <span class="keywordflow">case</span> <span class="charliteral">&#39;1&#39;</span>:
<a name="l00139"></a>00139         <span class="keywordflow">case</span> <span class="charliteral">&#39;2&#39;</span>:
<a name="l00140"></a>00140         <span class="keywordflow">case</span> <span class="charliteral">&#39;3&#39;</span>:
<a name="l00141"></a>00141         <span class="keywordflow">case</span> <span class="charliteral">&#39;4&#39;</span>:
<a name="l00142"></a>00142         <span class="keywordflow">case</span> <span class="charliteral">&#39;5&#39;</span>:
<a name="l00143"></a>00143         <span class="keywordflow">case</span> <span class="charliteral">&#39;6&#39;</span>:
<a name="l00144"></a>00144         <span class="keywordflow">case</span> <span class="charliteral">&#39;7&#39;</span>:
<a name="l00145"></a>00145         <span class="keywordflow">case</span> <span class="charliteral">&#39;8&#39;</span>:
<a name="l00146"></a>00146         <span class="keywordflow">case</span> <span class="charliteral">&#39;9&#39;</span>:
<a name="l00147"></a>00147           <span class="keywordflow">if</span> (digit_optind != 0 &amp;&amp; digit_optind != this_option_optind)
<a name="l00148"></a>00148             printf (<span class="stringliteral">&quot;digits occur in two different argv-elements.\n&quot;</span>);
<a name="l00149"></a>00149           digit_optind = this_option_optind;
<a name="l00150"></a>00150           printf (<span class="stringliteral">&quot;option %c\n&quot;</span>, c);
<a name="l00151"></a>00151           <span class="keywordflow">break</span>;
<a name="l00152"></a>00152 
<a name="l00153"></a>00153         <span class="keywordflow">case</span> <span class="charliteral">&#39;a&#39;</span>:
<a name="l00154"></a>00154           printf (<span class="stringliteral">&quot;option a\n&quot;</span>);
<a name="l00155"></a>00155           <span class="keywordflow">break</span>;
<a name="l00156"></a>00156 
<a name="l00157"></a>00157         <span class="keywordflow">case</span> <span class="charliteral">&#39;b&#39;</span>:
<a name="l00158"></a>00158           printf (<span class="stringliteral">&quot;option b\n&quot;</span>);
<a name="l00159"></a>00159           <span class="keywordflow">break</span>;
<a name="l00160"></a>00160 
<a name="l00161"></a>00161         <span class="keywordflow">case</span> <span class="charliteral">&#39;c&#39;</span>:
<a name="l00162"></a>00162           printf (<span class="stringliteral">&quot;option c with value `%s&#39;\n&quot;</span>, optarg);
<a name="l00163"></a>00163           <span class="keywordflow">break</span>;
<a name="l00164"></a>00164 
<a name="l00165"></a>00165         <span class="keywordflow">case</span> <span class="charliteral">&#39;d&#39;</span>:
<a name="l00166"></a>00166           printf (<span class="stringliteral">&quot;option d with value `%s&#39;\n&quot;</span>, optarg);
<a name="l00167"></a>00167           <span class="keywordflow">break</span>;
<a name="l00168"></a>00168 
<a name="l00169"></a>00169         <span class="keywordflow">case</span> <span class="charliteral">&#39;?&#39;</span>:
<a name="l00170"></a>00170           <span class="keywordflow">break</span>;
<a name="l00171"></a>00171 
<a name="l00172"></a>00172         <span class="keywordflow">default</span>:
<a name="l00173"></a>00173           printf (<span class="stringliteral">&quot;?? getopt returned character code 0%o ??\n&quot;</span>, c);
<a name="l00174"></a>00174         }
<a name="l00175"></a>00175     }
<a name="l00176"></a>00176 
<a name="l00177"></a>00177   <span class="keywordflow">if</span> (optind &lt; argc)
<a name="l00178"></a>00178     {
<a name="l00179"></a>00179       printf (<span class="stringliteral">&quot;non-option ARGV-elements: &quot;</span>);
<a name="l00180"></a>00180       <span class="keywordflow">while</span> (optind &lt; argc)
<a name="l00181"></a>00181         printf (<span class="stringliteral">&quot;%s &quot;</span>, argv[optind++]);
<a name="l00182"></a>00182       printf (<span class="stringliteral">&quot;\n&quot;</span>);
<a name="l00183"></a>00183     }
<a name="l00184"></a>00184 
<a name="l00185"></a>00185   exit (0);
<a name="l00186"></a>00186 }
<a name="l00187"></a>00187 
<a name="l00188"></a>00188 <span class="preprocessor">#endif </span><span class="comment">/* TEST */</span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>getopt1.c</b>      </li>
      <li class="footer">Generated on Mon Apr 18 2011 18:09:44 for LibOFX by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>