build/parseSpec.c File Reference

Top level dispatcher for spec file parsing. More...

#include "system.h"
#include <rpmio_internal.h>
#include <rpmbuild.h>
#include "rpmds.h"
#include "rpmts.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  PartRec

Functions

static void initParts (struct PartRec *p)
rpmParseState isPart (const char *line)
 Check line for section separator, return next parser state.
static int matchTok (const char *token, const char *line)
void handleComments (char *s)
 Truncate comment lines.
static void forceIncludeFile (Spec spec, const char *fileName)
static int copyNextLineFromOFI (Spec spec, OFI_t *ofi)
static void copyNextLineFinish (Spec spec, int strip)
static int readLineFromOFI (Spec spec, OFI_t *ofi)
int readLine (Spec spec, int strip)
 Read next line from spec file.
void closeSpec (Spec spec)
 Stop reading from spec file, freeing resources.
int parseSpec (rpmts ts, const char *specFile, const char *rootURL, const char *buildRootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force)
 Parse spec file into spec control structure.

Variables

static struct PartRec partList []
int noLang


Detailed Description

Top level dispatcher for spec file parsing.

Definition in file parseSpec.c.


Function Documentation

static void copyNextLineFinish ( Spec  spec,
int  strip 
) [static]

Definition at line 203 of file parseSpec.c.

References handleComments(), Spec_s::line, Spec_s::nextline, Spec_s::nextpeekc, STRIP_COMMENTS, STRIP_TRAILINGSPACE, and xisspace().

Referenced by readLine().

static int copyNextLineFromOFI ( Spec  spec,
OFI_t ofi 
) [static]

Definition at line 132 of file parseSpec.c.

References _, expandMacros(), Spec_s::lbuf, Spec_s::lbufPtr, Spec_s::lineNum, Spec_s::macros, Spec_s::nextline, ReadLevelEntry::reading, OpenFileInfo::readPtr, Spec_s::readStack, RPMERR_BADSPEC, RPMERR_UNMATCHEDIF, and rpmError.

Referenced by readLine().

static void forceIncludeFile ( Spec  spec,
const char *  fileName 
) [static]

Definition at line 118 of file parseSpec.c.

References OpenFileInfo::fileName, Spec_s::fileStack, newOpenFileInfo(), OpenFileInfo::next, and xstrdup().

Referenced by readLine().

static void initParts ( struct PartRec p  )  [inline, static]

Definition at line 51 of file parseSpec.c.

References PartRec::len, and PartRec::token.

Referenced by isPart().

static int matchTok ( const char *  token,
const char *  line 
) [static]

Definition at line 83 of file parseSpec.c.

References SKIPNONSPACE, SKIPSPACE, and xstrncasecmp().

Referenced by readLine().

static int readLineFromOFI ( Spec  spec,
OFI_t ofi 
) [static]

Definition at line 231 of file parseSpec.c.

References _, _free(), Fclose(), OpenFileInfo::fd, fdGetFp(), Ferror(), OpenFileInfo::fileName, Spec_s::fileStack, Fopen(), Fstrerror(), OpenFileInfo::lineNum, Spec_s::lineNum, OpenFileInfo::next, ReadLevelEntry::next, OpenFileInfo::readBuf, OpenFileInfo::readPtr, Spec_s::readStack, RPMERR_BADSPEC, RPMERR_UNMATCHEDIF, rpmError, Spec_s::sl, speclines_s::sl_lines, speclines_s::sl_nalloc, speclines_s::sl_nlines, xrealloc(), and xstrdup().

Referenced by readLine().


Variable Documentation

int noLang

Definition at line 53 of file poptBT.c.

struct PartRec partList[] [static]

Referenced by isPart().


Generated on Tue Feb 21 14:28:56 2012 for rpm by  doxygen 1.4.7