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 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, 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 int copyNextLine ( Spec  spec,
OFI_t ofi,
int  strip 
) [static]

Definition at line 131 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 117 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 50 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 82 of file parseSpec.c.

References SKIPNONSPACE, SKIPSPACE, and xstrncasecmp().

Referenced by readLine().


Variable Documentation

int noLang

Definition at line 53 of file poptBT.c.

struct PartRec partList[] [static]

Referenced by isPart().


Generated on Fri Oct 12 08:44:55 2007 for rpm by  doxygen 1.5.2