Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 67e32647b06c0323bf90c6b54a6438d1 > files > 462

rpm-apidocs-4.4.2.3-34.el5.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>rpm: build/parseSpec.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<h1>build/parseSpec.c File Reference</h1>Top level dispatcher for spec file parsing. <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="system_8h-source.html">system.h</a>&quot;</code><br>
<code>#include &lt;<a class="el" href="rpmio__internal_8h-source.html">rpmio_internal.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="rpmbuild_8h-source.html">rpmbuild.h</a>&gt;</code><br>
<code>#include &quot;<a class="el" href="rpmds_8h-source.html">rpmds.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="rpmts_8h-source.html">rpmts.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="debug_8h-source.html">debug.h</a>&quot;</code><br>

<p>
<a href="parseSpec_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPartRec.html">PartRec</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#49ea0422994ecb96de5f620e553e91ca">initParts</a> (struct <a class="el" href="structPartRec.html">PartRec</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__rpmbuild.html#g5e16f31b3f058a87b3d0a4e47c4ff6ec">rpmParseState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmbuild.html#g8c7b433bf3ff695618b066591e859765">isPart</a> (const char *line)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check line for section separator, return next parser state.  <a href="group__rpmbuild.html#g8c7b433bf3ff695618b066591e859765"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#ec0c5cdfc44f866ec6f990217ad04e28">matchTok</a> (const char *token, const char *line)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmbuild.html#gc93c94ec9379044ad20c40d511fb45d5">handleComments</a> (char *s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Truncate comment lines.  <a href="group__rpmbuild.html#gc93c94ec9379044ad20c40d511fb45d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#282b7edf5bd4a09960b04d6d639b204f">forceIncludeFile</a> (<a class="el" href="structSpec__s.html">Spec</a> spec, const char *fileName)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#b80f7e3e02b01814c5d03c73f88625fe">copyNextLineFromOFI</a> (<a class="el" href="structSpec__s.html">Spec</a> spec, <a class="el" href="structOpenFileInfo.html">OFI_t</a> *ofi)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#d7cf625084dc72a606c7b4d71eac83a3">copyNextLineFinish</a> (<a class="el" href="structSpec__s.html">Spec</a> spec, int strip)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#44b900dfd7ed941a6897bf1cb6e17599">readLineFromOFI</a> (<a class="el" href="structSpec__s.html">Spec</a> spec, <a class="el" href="structOpenFileInfo.html">OFI_t</a> *ofi)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmbuild.html#g3cc2d9ce185b2a529b790abd4db13bb5">readLine</a> (<a class="el" href="structSpec__s.html">Spec</a> spec, int strip)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read next line from spec file.  <a href="group__rpmbuild.html#g3cc2d9ce185b2a529b790abd4db13bb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmbuild.html#ge29a546390bc89f15e647cb85a144a4a">closeSpec</a> (<a class="el" href="structSpec__s.html">Spec</a> spec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop reading from spec file, freeing resources.  <a href="group__rpmbuild.html#ge29a546390bc89f15e647cb85a144a4a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmbuild.html#g1ab0f21171b777c14da12d3a1fc584c2">parseSpec</a> (<a class="el" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, const char *specFile, const char *rootURL, const char *buildRootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse spec file into spec control structure.  <a href="group__rpmbuild.html#g1ab0f21171b777c14da12d3a1fc584c2"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structPartRec.html">PartRec</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#1cb7cda1c18ffc94128bf91589d1052a">partList</a> []</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="parseSpec_8c.html#f8f3d1cd6fe9830da6d64594a1778492">noLang</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Top level dispatcher for spec file parsing. 
<p>

<p>
Definition in file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.<hr><h2>Function Documentation</h2>
<a class="anchor" name="d7cf625084dc72a606c7b4d71eac83a3"></a><!-- doxytag: member="parseSpec.c::copyNextLineFinish" ref="d7cf625084dc72a606c7b4d71eac83a3" args="(Spec spec, int strip)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void copyNextLineFinish           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSpec__s.html">Spec</a>&nbsp;</td>
          <td class="paramname"> <em>spec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>strip</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="parseSpec_8c-source.html#l00203">203</a> of file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.
<p>
References <a class="el" href="parseSpec_8c-source.html#l00108">handleComments()</a>, <a class="el" href="rpmspec_8h-source.html#l00116">Spec_s::line</a>, <a class="el" href="rpmspec_8h-source.html#l00114">Spec_s::nextline</a>, <a class="el" href="rpmspec_8h-source.html#l00112">Spec_s::nextpeekc</a>, <a class="el" href="rpmbuild_8h-source.html#l00080">STRIP_COMMENTS</a>, <a class="el" href="rpmbuild_8h-source.html#l00079">STRIP_TRAILINGSPACE</a>, and <a class="el" href="stringbuf_8c-source.html#l00024">xisspace()</a>.
<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00291">readLine()</a>.
</div>
</div><p>
<a class="anchor" name="b80f7e3e02b01814c5d03c73f88625fe"></a><!-- doxytag: member="parseSpec.c::copyNextLineFromOFI" ref="b80f7e3e02b01814c5d03c73f88625fe" args="(Spec spec, OFI_t *ofi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int copyNextLineFromOFI           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSpec__s.html">Spec</a>&nbsp;</td>
          <td class="paramname"> <em>spec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structOpenFileInfo.html">OFI_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ofi</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="parseSpec_8c-source.html#l00132">132</a> of file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="macro_8c-source.html#l01848">expandMacros()</a>, <a class="el" href="rpmspec_8h-source.html#l00109">Spec_s::lbuf</a>, <a class="el" href="rpmspec_8h-source.html#l00111">Spec_s::lbufPtr</a>, <a class="el" href="rpmspec_8h-source.html#l00117">Spec_s::lineNum</a>, <a class="el" href="rpmspec_8h-source.html#l00157">Spec_s::macros</a>, <a class="el" href="rpmspec_8h-source.html#l00114">Spec_s::nextline</a>, <a class="el" href="rpmspec_8h-source.html#l00044">ReadLevelEntry::reading</a>, <a class="el" href="rpmspec_8h-source.html#l00058">OpenFileInfo::readPtr</a>, <a class="el" href="rpmspec_8h-source.html#l00120">Spec_s::readStack</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b6fc1b509e2472ee2cb32e474a19ba516">RPMERR_BADSPEC</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b92b79784ff407308408f582cda26632f">RPMERR_UNMATCHEDIF</a>, and <a class="el" href="rpmerr_8h-source.html#l00143">rpmError</a>.
<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00291">readLine()</a>.
</div>
</div><p>
<a class="anchor" name="282b7edf5bd4a09960b04d6d639b204f"></a><!-- doxytag: member="parseSpec.c::forceIncludeFile" ref="282b7edf5bd4a09960b04d6d639b204f" args="(Spec spec, const char *fileName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void forceIncludeFile           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSpec__s.html">Spec</a>&nbsp;</td>
          <td class="paramname"> <em>spec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fileName</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="parseSpec_8c-source.html#l00118">118</a> of file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.
<p>
References <a class="el" href="rpmspec_8h-source.html#l00053">OpenFileInfo::fileName</a>, <a class="el" href="rpmspec_8h-source.html#l00108">Spec_s::fileStack</a>, <a class="el" href="spec_8c-source.html#l00563">newOpenFileInfo()</a>, <a class="el" href="rpmspec_8h-source.html#l00060">OpenFileInfo::next</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00055">xstrdup()</a>.
<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00291">readLine()</a>.
</div>
</div><p>
<a class="anchor" name="49ea0422994ecb96de5f620e553e91ca"></a><!-- doxytag: member="parseSpec.c::initParts" ref="49ea0422994ecb96de5f620e553e91ca" args="(struct PartRec *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void initParts           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structPartRec.html">PartRec</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="parseSpec_8c-source.html#l00051">51</a> of file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.
<p>
References <a class="el" href="parseSpec_8c-source.html#l00021">PartRec::len</a>, and <a class="el" href="parseSpec_8c-source.html#l00023">PartRec::token</a>.
<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00058">isPart()</a>.
</div>
</div><p>
<a class="anchor" name="ec0c5cdfc44f866ec6f990217ad04e28"></a><!-- doxytag: member="parseSpec.c::matchTok" ref="ec0c5cdfc44f866ec6f990217ad04e28" args="(const char *token, const char *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int matchTok           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>line</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="parseSpec_8c-source.html#l00083">83</a> of file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.
<p>
References <a class="el" href="rpmbuild_8h-source.html#l00044">SKIPNONSPACE</a>, <a class="el" href="rpmbuild_8h-source.html#l00043">SKIPSPACE</a>, and <a class="el" href="strcasecmp_8c-source.html#l00032">xstrncasecmp()</a>.
<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00291">readLine()</a>.
</div>
</div><p>
<a class="anchor" name="44b900dfd7ed941a6897bf1cb6e17599"></a><!-- doxytag: member="parseSpec.c::readLineFromOFI" ref="44b900dfd7ed941a6897bf1cb6e17599" args="(Spec spec, OFI_t *ofi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int readLineFromOFI           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSpec__s.html">Spec</a>&nbsp;</td>
          <td class="paramname"> <em>spec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structOpenFileInfo.html">OFI_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ofi</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="parseSpec_8c-source.html#l00231">231</a> of file <a class="el" href="parseSpec_8c-source.html">parseSpec.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="rpmio_8c-source.html#l02903">Fclose()</a>, <a class="el" href="rpmspec_8h-source.html#l00054">OpenFileInfo::fd</a>, <a class="el" href="rpmio__internal_8h-source.html#l00275">fdGetFp()</a>, <a class="el" href="rpmio_8c-source.html#l03280">Ferror()</a>, <a class="el" href="rpmspec_8h-source.html#l00053">OpenFileInfo::fileName</a>, <a class="el" href="rpmspec_8h-source.html#l00108">Spec_s::fileStack</a>, <a class="el" href="rpmio_8c-source.html#l03187">Fopen()</a>, <a class="el" href="rpmio_8c-source.html#l02813">Fstrerror()</a>, <a class="el" href="rpmspec_8h-source.html#l00055">OpenFileInfo::lineNum</a>, <a class="el" href="rpmspec_8h-source.html#l00117">Spec_s::lineNum</a>, <a class="el" href="rpmspec_8h-source.html#l00060">OpenFileInfo::next</a>, <a class="el" href="rpmspec_8h-source.html#l00046">ReadLevelEntry::next</a>, <a class="el" href="rpmspec_8h-source.html#l00056">OpenFileInfo::readBuf</a>, <a class="el" href="rpmspec_8h-source.html#l00058">OpenFileInfo::readPtr</a>, <a class="el" href="rpmspec_8h-source.html#l00120">Spec_s::readStack</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b6fc1b509e2472ee2cb32e474a19ba516">RPMERR_BADSPEC</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b92b79784ff407308408f582cda26632f">RPMERR_UNMATCHEDIF</a>, <a class="el" href="rpmerr_8h-source.html#l00143">rpmError</a>, <a class="el" href="rpmspec_8h-source.html#l00103">Spec_s::sl</a>, <a class="el" href="rpmspec_8h-source.html#l00084">speclines_s::sl_lines</a>, <a class="el" href="rpmspec_8h-source.html#l00085">speclines_s::sl_nalloc</a>, <a class="el" href="rpmspec_8h-source.html#l00086">speclines_s::sl_nlines</a>, <a class="el" href="rpmmalloc_8c-source.html#l00045">xrealloc()</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00055">xstrdup()</a>.
<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00291">readLine()</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="f8f3d1cd6fe9830da6d64594a1778492"></a><!-- doxytag: member="parseSpec.c::noLang" ref="f8f3d1cd6fe9830da6d64594a1778492" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="poptBT_8c.html#f8f3d1cd6fe9830da6d64594a1778492">noLang</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="poptBT_8c-source.html#l00053">53</a> of file <a class="el" href="poptBT_8c-source.html">poptBT.c</a>.
</div>
</div><p>
<a class="anchor" name="1cb7cda1c18ffc94128bf91589d1052a"></a><!-- doxytag: member="parseSpec.c::partList" ref="1cb7cda1c18ffc94128bf91589d1052a" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structPartRec.html">PartRec</a>  <a class="el" href="parseSpec_8c.html#1cb7cda1c18ffc94128bf91589d1052a">partList</a>[]<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="parseSpec_8c-source.html#l00058">isPart()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>