rpm
5.4.14
|
#include "system.h"
#include <rpmiotypes.h>
#include <rpmmacro.h>
#include <mire.h>
#include <rpmlog.h>
#include <set.h>
#include <rpmtag.h>
#include <rpmevr.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | EVRop_s |
Macros | |
#define | _MIRE_INTERNAL |
#define | _RPMEVR_INTERNAL |
#define | MAX(x, y) ( ((x)>(y))?(x):(y) ) |
Functions | |
EVR_t | rpmEVRnew (uint32_t Flags, int initialize) |
Create a new EVR container. More... | |
EVR_t | rpmEVRfree (EVR_t evr) |
Destroy an EVR container. More... | |
static int | xisrpmalpha (int c) |
Return rpm's analogue of xisalpha. More... | |
int | rpmEVRcmp (const char *a, const char *b) |
Segmented string compare. More... | |
static miRE | rpmEVRmire (void) |
int | rpmEVRparse (const char *evrstr, EVR_t evr) |
Split EVR string into epoch, version, and release components. More... | |
static int | compare_values (const char *a, const char *b) |
Dressed rpmEVRcmp, handling missing values. More... | |
static const char * | rpmEVRorder (void) |
Return precedence permutation string. More... | |
int | rpmEVRcompare (const EVR_t a, const EVR_t b) |
Compare EVR containers for equality. More... | |
int | rpmEVRoverlap (EVR_t a, EVR_t b) |
Compare EVR containers for overlap. More... | |
rpmsenseFlags | rpmEVRflags (const char *op, const char **end) |
Return comparison operator sense flags. More... | |
int | rpmVersionCompare (Header A, Header B) |
Variables | |
int | _rpmevr_debug = 0 |
static int | _invert_digits_alphas_comparison = 1 |
static const char * | _rpmnotalpha = ".:-" |
static const char | _evr_tuple_match [] |
const char * | evr_tuple_match = NULL |
miRE | evr_tuple_mire = NULL |
static const char | _evr_tuple_order [] = "EVR" |
static const char * | evr_tuple_order = NULL |
int(* | rpmvercmp )(const char *a, const char *b) = rpmEVRcmp |
Segmented string compare vector. More... | |
static struct EVRop_s | cops [] |
#define MAX | ( | x, | |
y | |||
) | ( ((x)>(y))?(x):(y) ) |
Definition at line 28 of file rpmevr.c.
Referenced by rpmEVRcmp().
|
static |
Dressed rpmEVRcmp, handling missing values.
a | 1st string |
b | 2nd string |
Definition at line 248 of file rpmevr.c.
References rpmvercmp.
Referenced by rpmEVRcompare().
rpmsenseFlags rpmEVRflags | ( | const char * | op, |
const char ** | end | ||
) |
Return comparison operator sense flags.
op | operator string (NULL or "" uses RPMSENSE_EQUAL) |
*end | pointer to 1st character after operator (or NULL) |
Definition at line 406 of file rpmevr.c.
References cops, Flags, NULL, EVRop_s::opstr, RPMSENSE_EQUAL, and EVRop_s::sense.
Referenced by parseRCPOT(), rpmdsPipe(), and rpmdsSysinfoFile().
Destroy an EVR container.
EVR | container |
Definition at line 47 of file rpmevr.c.
References _free(), memset(), and NULL.
Referenced by addReqProv(), evrCompare(), evrSplit(), labelCompare(), nwlookupTag(), PRCOsqlTag(), rpmfcHelper(), and wnlookupTag().
Definition at line 157 of file rpmevr.c.
References _free(), assert(), evr_tuple_mire, mireNew(), mireRegcomp(), mireSetCOptions(), NULL, rpmExpand(), RPMMIRE_REGEX, xstrdup(), and xx.
Referenced by rpmEVRparse().
|
static |
Return precedence permutation string.
Definition at line 264 of file rpmevr.c.
References _free(), assert(), evr_tuple_order, NULL, rpmExpand(), and xstrdup().
Referenced by rpmEVRcompare(), and rpmVersionCompare().
Definition at line 425 of file rpmevr.c.
References _free(), alloca(), headerGet(), memset(), _HE_s::p, rpmDataType_u::ptr, rc, rpmEVRorder(), RPMTAG_DISTEPOCH, RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, rpmvercmp, s, rpmDataType_u::str, _HE_s::tag, rpmDataType_u::ui32p, and xx.
Referenced by hdr_compare(), and rpmcliInstall().
Return rpm's analogue of xisalpha.
c | character to test |
Definition at line 74 of file rpmevr.c.
References NULL, rc, xisalpha(), and xispunct().
Referenced by rpmEVRcmp().
|
static |
|
static |
Definition at line 62 of file rpmevr.c.
Referenced by rpmEVRcmp().
|
static |
Referenced by rpmEVRflags().
Definition at line 155 of file rpmevr.c.
Referenced by rpmEVRmire().