# build/parseSpec.c File Reference

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

`#include "system.h"`
`#include <rpmio_internal.h>`
`#include <rpmbuild.h>`
`#include "debug.h"`

Go to the source code of this file.

## Data Structures

struct | PartRec

## Functions

void | initParts (struct PartRec *p)
rpmParseState | isPart (const char *line)
int | matchTok (const char *token, const char *line)
void | handleComments (char *s)
void | forceIncludeFile (Spec spec, const char *fileName)
int | copyNextLine (Spec spec, OFI_t *ofi, int strip)
int | readLine (Spec spec, int strip)
void | closeSpec (Spec spec)
int | parseSpec (Spec *specp, const char *specFile, const char *rootURL, const char *buildRootURL, int recursing, const char *passPhrase, char *cookie, int anyarch, int force)

## Variables

int | _debug = 0
PartRec | partList []
int | noLang

## Detailed Description

Top level dispatcher for spec file parsing.

Definition in file parseSpec.c.

## Function Documentation

int copyNextLine | ( | Spec | spec,
|  | OFI_t * | ofi,
|  | int | strip
| ) | `[static]`

Definition at line 119 of file parseSpec.c.

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

Referenced by readLine().

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

| Definition at line 106 of file parseSpec.c. References OpenFileInfo::fileName, SpecStruct::fileStack, newOpenFileInfo(), OpenFileInfo::next, OFI_t, Spec, and xstrdup(). Referenced by readLine().

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

| Definition at line 47 of file parseSpec.c. References PartRec::len, and PartRec::token. Referenced by isPart().

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

| Definition at line 75 of file parseSpec.c. References SKIPNONSPACE, SKIPSPACE, and xstrncasecmp(). Referenced by readLine().

## Variable Documentation

int _debug = 0`[static]`

| Definition at line 9 of file parseSpec.c. Referenced by parseSpec().

int noLang

| Definition at line 373 of file parseSpec.c.

struct PartRec partList[]`[static]`

| Referenced by isPart().