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"

Include dependency graph for parseSpec.c:

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 copyNextLine (Spec spec, OFI_t *ofi, int strip)
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, int recursing, const char *passPhrase, char *cookie, int anyarch, int force, int verify)
 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 int copyNextLine ( Spec  spec,
OFI_t ofi,
int  strip 
) [static]

Definition at line 132 of file parseSpec.c.

References _, expandMacros(), handleComments(), Spec_s::lbuf, Spec_s::lbufPtr, Spec_s::line, Spec_s::lineNum, Spec_s::macros, Spec_s::nextline, Spec_s::nextpeekc, ReadLevelEntry::reading, OpenFileInfo::readPtr, Spec_s::readStack, RPMERR_BADSPEC, RPMERR_UNMATCHEDIF, rpmError, STRIP_COMMENTS, STRIP_TRAILINGSPACE, and xisspace().

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().


Variable Documentation

int noLang

Definition at line 52 of file poptBT.c.

struct PartRec partList[] [static]

Referenced by isPart().


Generated on Fri May 25 21:18:32 2007 for rpm by  doxygen 1.5.2