Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 1a4654cdb333ad144ff9f7b2e16de416 > files > 13

cpp2html-1.2-3mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
    "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="cpp2html 1.2
by Lorenzo Bettini, bettini@gnu.org
http://w3.newnet.it/bettini
http://www.gnu.org/software/cpp2html/cpp2html.html">
<title>cmdline.c</title>
<link rel="stylesheet" href="cpp2html.css" type="text/css">
</head>
<body>
<body text="#000000" bgcolor="#CBFFE1" link="#CC6600" vlink="#51188E" alink="#FF0000">
This file has been formatted with
<br><b><font color="#FF0000">GNU cpp2html</font></b>,
<a href="http://www.gnu.org/software/cpp2html">http://www.gnu.org/software/cpp2html</a><a href="http://www.gnu.org/software/cpp2html"></a>
<br>
by <i><font color="#009900">Lorenzo Bettini</font></i>
&lt;<a href="mailto:bettini@gnu.org">bettini@gnu.org</a>>
<hr>
<center>
<table BORDER=3 CELLPADDING=10 COLS=1 WIDTH="90%" BGCOLOR="#FFFF99" NOSAVE >
<tr NOSAVE>
<td NOSAVE>
<pre>
<tt>
<span class="comment">/*
  File autogenerated by gengetopt version 2.1  
  generated with the following command:
  /home/lorenzo/usr/local/bin/gengetopt --input cmdline.ggo --unamed-opts 

  The developers of gengetopt consider the fixed text that goes in all
  gengetopt output files to be in the public domain:
  we make no copyright claims on it.
*/</span>


<span class="keyword">#include</span> <span class="string">&lt;stdio.h&gt;</span>
<span class="keyword">#include</span> <span class="string">&lt;stdlib.h&gt;</span>
<span class="keyword">#include</span> <span class="string">&lt;string.h&gt;</span>
<span class="comment">/* If we use autoconf.  */</span>
<span class="keyword">#ifdef</span> HAVE_CONFIG_H
<span class="keyword">#include</span> <span class="string">"config.h"</span>
<span class="keyword">#endif</span>
<span class="comment">/* Check for configure's getopt check result.  */</span>
<span class="keyword">#ifndef</span> HAVE_GETOPT_LONG
<span class="keyword">#include</span> <span class="string">"getopt.h"</span>
<span class="keyword">#else</span>
<span class="keyword">#include</span> <span class="string">&lt;getopt.h&gt;</span>
<span class="keyword">#endif</span>

<span class="keyword">#include</span> <span class="string">"cmdline.h"</span>

<span class="comment">/* Don't define PACKAGE and VERSION if we use automake.  */</span>
<span class="keyword">#ifndef</span> PACKAGE
<span class="comment">/* ******* WRITE THE NAME OF YOUR PROGRAM HERE ******* */</span>
<span class="keyword">#define</span> PACKAGE <span class="string">""</span>
<span class="keyword">#endif</span>
<span class="keyword">#ifndef</span> VERSION
<span class="comment">/* ******* WRITE THE VERSION OF YOUR PROGRAM HERE ******* */</span>
<span class="keyword">#define</span> VERSION <span class="string">""</span>
<span class="keyword">#endif</span>


<span class="type">void</span>
print_version (<span class="type">void</span>)
{
  printf (<span class="string">"%s %s\n"</span>, PACKAGE, VERSION);
}

<span class="type">void</span>
print_help (<span class="type">void</span>)
{
  print_version ();
  printf (<span class="string">"Usage: %s [OPTIONS]... [FILES]...\n\
   -h         --help           Print help and exit\n\
   -V         --version        Print version and exit\n\
   -v         --verbose        verbose mode on\n\
   -d         --doc            create html with title and header\n\
   -cSTRING   --css=STRING     use a css for formatting. Implies --doc\n\
   -TSTRING   --title=STRING   give a title to the html. Implies --doc\n\
   -iSTRING   --input=STRING   input file. default std input\n\
   -oSTRING   --output=STRING  output file. default std output\n\
   -tINT      --tab=INT        specify tab length. default 8\n\
   -HSTRING   --header=STRING  file to insert as header\n\
   -FSTRING   --footer=STRING  file to insert as footer\n\
"</span>, PACKAGE);
}


<span class="type">char</span> *
gengetopt_strdup (<span class="type">char</span> * s)
{
  <span class="type">char</span> * n, * pn, * ps = s;
  <span class="keyword">while</span> (*ps) ps++;
  n = (<span class="type">char</span> *) malloc (<span class="number">1</span> + ps - s);
  <span class="keyword">if</span> (n != NULL)
    {
      <span class="keyword">for</span> (ps=s,pn=n; *ps; ps++,pn++)
        *pn = *ps;
      *pn = <span class="number">0</span>;
    }
  <span class="keyword">return</span> n;
}


<span class="type">int</span>
cmdline_parser (<span class="type">int</span> argc, <span class="type">char</span> **argv, <span class="keyword">struct</span> gengetopt_args_info *args_info)
{
  <span class="type">int</span> c;	<span class="comment">/* Character of the parsed option.  */</span>
  <span class="type">int</span> missing_required_options = <span class="number">0</span>;	

  args_info-&gt;help_given = <span class="number">0</span> ;
  args_info-&gt;version_given = <span class="number">0</span> ;
  args_info-&gt;verbose_given = <span class="number">0</span> ;
  args_info-&gt;doc_given = <span class="number">0</span> ;
  args_info-&gt;css_given = <span class="number">0</span> ;
  args_info-&gt;title_given = <span class="number">0</span> ;
  args_info-&gt;input_given = <span class="number">0</span> ;
  args_info-&gt;output_given = <span class="number">0</span> ;
  args_info-&gt;tab_given = <span class="number">0</span> ;
  args_info-&gt;header_given = <span class="number">0</span> ;
  args_info-&gt;footer_given = <span class="number">0</span> ;

<span class="keyword">#define</span> clear_args()
{ \
  args_info-&gt;css_arg = NULL; \
  args_info-&gt;title_arg = NULL; \
  args_info-&gt;input_arg = NULL; \
  args_info-&gt;output_arg = NULL; \
  args_info-&gt;header_arg = NULL; \
  args_info-&gt;footer_arg = NULL; \
}

  clear_args();

  args_info-&gt;inputs = NULL;
  args_info-&gt;inputs_num = <span class="number">0</span>;

  <span class="keyword">while</span> (<span class="number">1</span>)
    {
      <span class="type">int</span> option_index = <span class="number">0</span>;
      <span class="keyword">static</span> <span class="keyword">struct</span> option long_options[] = {
        { <span class="string">"help"</span>,	<span class="number">0</span>, NULL, <span class="string">'h'</span> },
        { <span class="string">"version"</span>,	<span class="number">0</span>, NULL, <span class="string">'V'</span> },
        { <span class="string">"verbose"</span>,	<span class="number">0</span>, NULL, <span class="string">'v'</span> },
        { <span class="string">"doc"</span>,	<span class="number">0</span>, NULL, <span class="string">'d'</span> },
        { <span class="string">"css"</span>,	<span class="number">1</span>, NULL, <span class="string">'c'</span> },
        { <span class="string">"title"</span>,	<span class="number">1</span>, NULL, <span class="string">'T'</span> },
        { <span class="string">"input"</span>,	<span class="number">1</span>, NULL, <span class="string">'i'</span> },
        { <span class="string">"output"</span>,	<span class="number">1</span>, NULL, <span class="string">'o'</span> },
        { <span class="string">"tab"</span>,	<span class="number">1</span>, NULL, <span class="string">'t'</span> },
        { <span class="string">"header"</span>,	<span class="number">1</span>, NULL, <span class="string">'H'</span> },
        { <span class="string">"footer"</span>,	<span class="number">1</span>, NULL, <span class="string">'F'</span> },
        { NULL,	<span class="number">0</span>, NULL, <span class="number">0</span> }
      };

      c = getopt_long (argc, argv, <span class="string">"hVvdc:T:i:o:t:H:F:"</span>, long_options, &amp;option_index);

      <span class="keyword">if</span> (c == -<span class="number">1</span>) <span class="keyword">break</span>;	<span class="comment">/* Exit from `while (1)' loop.  */</span>

      <span class="keyword">switch</span> (c)
        {
        <span class="keyword">case</span> <span class="string">'h'</span>:	<span class="comment">/* Print help and exit.  */</span>
          clear_args ();
          print_help ();
          exit (<span class="number">0</span>);

        <span class="keyword">case</span> <span class="string">'V'</span>:	<span class="comment">/* Print version and exit.  */</span>
          clear_args ();
          print_version ();
          exit (<span class="number">0</span>);

        <span class="keyword">case</span> <span class="string">'v'</span>:	<span class="comment">/* verbose mode on.  */</span>
          <span class="keyword">if</span> (args_info-&gt;verbose_given)
            {
              fprintf (stderr, <span class="string">"%s: `--verbose' (`-v') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;verbose_given = <span class="number">1</span>;
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'d'</span>:	<span class="comment">/* create html with title and header.  */</span>
          <span class="keyword">if</span> (args_info-&gt;doc_given)
            {
              fprintf (stderr, <span class="string">"%s: `--doc' (`-d') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;doc_given = <span class="number">1</span>;
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'c'</span>:	<span class="comment">/* use a css for formatting. Implies --doc.  */</span>
          <span class="keyword">if</span> (args_info-&gt;css_given)
            {
              fprintf (stderr, <span class="string">"%s: `--css' (`-c') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;css_given = <span class="number">1</span>;
          args_info-&gt;css_arg = gengetopt_strdup (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'T'</span>:	<span class="comment">/* give a title to the html. Implies --doc.  */</span>
          <span class="keyword">if</span> (args_info-&gt;title_given)
            {
              fprintf (stderr, <span class="string">"%s: `--title' (`-T') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;title_given = <span class="number">1</span>;
          args_info-&gt;title_arg = gengetopt_strdup (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'i'</span>:	<span class="comment">/* input file. default std input.  */</span>
          <span class="keyword">if</span> (args_info-&gt;input_given)
            {
              fprintf (stderr, <span class="string">"%s: `--input' (`-i') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;input_given = <span class="number">1</span>;
          args_info-&gt;input_arg = gengetopt_strdup (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'o'</span>:	<span class="comment">/* output file. default std output.  */</span>
          <span class="keyword">if</span> (args_info-&gt;output_given)
            {
              fprintf (stderr, <span class="string">"%s: `--output' (`-o') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;output_given = <span class="number">1</span>;
          args_info-&gt;output_arg = gengetopt_strdup (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'t'</span>:	<span class="comment">/* specify tab length. default 8.  */</span>
          <span class="keyword">if</span> (args_info-&gt;tab_given)
            {
              fprintf (stderr, <span class="string">"%s: `--tab' (`-t') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;tab_given = <span class="number">1</span>;
          args_info-&gt;tab_arg = atoi (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'H'</span>:	<span class="comment">/* file to insert as header.  */</span>
          <span class="keyword">if</span> (args_info-&gt;header_given)
            {
              fprintf (stderr, <span class="string">"%s: `--header' (`-H') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;header_given = <span class="number">1</span>;
          args_info-&gt;header_arg = gengetopt_strdup (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'F'</span>:	<span class="comment">/* file to insert as footer.  */</span>
          <span class="keyword">if</span> (args_info-&gt;footer_given)
            {
              fprintf (stderr, <span class="string">"%s: `--footer' (`-F') option given more than once\n"</span>, PACKAGE);
              clear_args ();
              print_help ();
              exit (<span class="number">1</span>);
            }
          args_info-&gt;footer_given = <span class="number">1</span>;
          args_info-&gt;footer_arg = gengetopt_strdup (optarg);
          <span class="keyword">break</span>;

        <span class="keyword">case</span> <span class="string">'?'</span>:	<span class="comment">/* Invalid option.  */</span>
          <span class="comment">/* `getopt_long' already printed an error message.  */</span>
          exit (<span class="number">1</span>);

        <span class="keyword">default</span>:	<span class="comment">/* bug: option not considered.  */</span>
          fprintf (stderr, <span class="string">"%s: option unknown: %c\n"</span>, PACKAGE, c);
          abort ();
        } <span class="comment">/* switch */</span>
    } <span class="comment">/* while */</span>

  <span class="keyword">if</span> ( missing_required_options )
    exit (<span class="number">1</span>);

  <span class="keyword">if</span> (optind &lt; argc)
    {
      <span class="type">int</span> i = <span class="number">0</span> ;

      args_info-&gt;inputs_num = argc - optind ;
      args_info-&gt;inputs = 
        (<span class="type">char</span> **)(malloc ((args_info-&gt;inputs_num)*<span class="keyword">sizeof</span>(<span class="type">char</span> *))) ;
      <span class="keyword">while</span> (optind &lt; argc)
        args_info-&gt;inputs[ i++ ] = strdup (argv[optind++]) ; 
    }

  <span class="keyword">return</span> <span class="number">0</span>;
}</tt>
</pre>
</td>
</tr>
</table></center>
<hr>
This file was generated with the following command:
<pre>
cpp2html -i cmdline.c -o cmdline.c.html --css="cpp2html.css" --header="./header.html" --footer="./footer.html"</pre>
and these are <a href="header.html">header.html</a> and <a href="footer.html">footer.html</a>.
<br>
<tt>--header</tt> and <tt>--footer</tt> options are an idea of
Xavier Outhier &lt;<a href="mailto:xouthier@yahoo.fr">xouthier@yahoo.fr</a>>, for Java2html, <a href="http://www.gnu.org/software/java2html">http://www.gnu.org/software/java2html</a><a href="http://www.gnu.org/software/java2html"></a>


</body>
</html>