/*@null@*/
static PyObject *
rpmds_iternext(rpmdsObject * s)
- /*@globals _Py_NoneStruct @*/
- /*@modifies s, _Py_NoneStruct @*/
+ /*@modifies s @*/
{
PyObject * result = NULL;
int tagN = rpmdsTagN(s->ds);
int Flags = rpmdsFlags(s->ds);
+/*@-branchstate@*/
if (N != NULL) N = xstrdup(N);
if (EVR != NULL) EVR = xstrdup(EVR);
+/*@=branchstate@*/
result = rpmds_Wrap( rpmdsSingle(tagN, N, EVR, Flags) );
} else
s->active = 0;
}
/* XXX rpmdsFind uses bsearch on s->ds, so a sort is needed. */
+/*@null@*/
static PyObject *
rpmds_Sort(rpmdsObject * s, PyObject * args)
- /*@modifies s @*/
+ /*@globals _Py_NoneStruct @*/
+ /*@modifies _Py_NoneStruct @*/
{
if (!PyArg_ParseTuple(args, ":Sort"))
return NULL;
return Py_None;
}
+/*@null@*/
static PyObject *
rpmds_Find(rpmdsObject * s, PyObject * args)
/*@modifies s @*/
return Py_BuildValue("i", rc);
}
+/*@null@*/
static PyObject *
rpmds_Merge(rpmdsObject * s, PyObject * args)
/*@modifies s @*/
/** \ingroup py_c
*/
+/*@null@*/
static PyObject * rpmds_new(PyTypeObject * subtype, PyObject *args, PyObject *kwds)
/*@globals rpmGlobalMacroContext @*/
/*@modifies rpmGlobalMacroContext @*/
/** \ingroup py_c
* \file python/rpmps-py.c
*/
+/*@-modunconnomods -evalorderuncon @*/
#include "system.h"
#include "debug.h"
+/*@access FILE @*/
/*@access rpmps @*/
+/*@access rpmProblem @*/
/*@null@*/
static PyObject *
static PyObject *
rpmps_iter(rpmpsObject * s)
- /*@*/
+ /*@modifies s @*/
{
if (_rpmps_debug < 0)
fprintf(stderr, "*** rpmps_iter(%p)\n", s);
/*@null@*/
static PyObject *
rpmps_iternext(rpmpsObject * s)
- /*@globals _Py_NoneStruct @*/
- /*@modifies s, _Py_NoneStruct @*/
+ /*@modifies s @*/
{
PyObject * result = NULL;
rpmps ps = s->ps;
if (_rpmps_debug < 0)
fprintf(stderr, "*** rpmps_iternext(%p) ps %p ix %d active %d\n", s, s->ps, s->ix, s->active);
+
/* Reset loop indices on 1st entry. */
if (!s->active) {
s->ix = -1;
/*@modifies s, fp, fileSystem @*/
{
if (_rpmps_debug < 0)
-fprintf(stderr, "*** rpmps_print(%p,%p,%x)\n", s, fp, flags);
+fprintf(stderr, "*** rpmps_print(%p,%p,%x)\n", s, (void *)fp, flags);
if (s && s->ps)
rpmpsPrint(fp, s->ps);
return 0;
/*@null@*/
static PyObject *
rpmps_subscript(rpmpsObject * s, PyObject * key)
- /*@modifies s @*/
+ /*@*/
{
PyObject * result = NULL;
rpmps ps;
static int
rpmps_ass_sub(rpmpsObject * s, PyObject * key, PyObject * value)
+ /*@modifies s @*/
{
rpmps ps;
int ix;
return -1;
}
+/*@-branchstate@*/
if (ix >= ps->numProblems) {
/* XXX force append for indices out of range. */
rpmpsAppend(s->ps, p->type, p->pkgNEVR, p->key,
*op = *p; /* structure assignment */
}
+/*@=branchstate@*/
}
return 0;
/** \ingroup py_c
*/
static int rpmps_init(rpmpsObject * s, PyObject *args, PyObject *kwds)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies s, rpmGlobalMacroContext @*/
+ /*@modifies s @*/
{
if (_rpmps_debug < 0)
/** \ingroup py_c
*/
+/*@null@*/
static PyObject * rpmps_new(PyTypeObject * subtype, PyObject *args, PyObject *kwds)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies rpmGlobalMacroContext @*/
+ /*@*/
{
rpmpsObject * s = (void *) PyObject_New(rpmpsObject, subtype);
s->ix = -1;
return s;
}
+/*@=modunconnomods =evalorderuncon @*/
/*@null@*/
static rpmpsObject *
rpmts_Problems(rpmtsObject * s, PyObject * args)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies s, rpmGlobalMacroContext @*/
+ /*@modifies s @*/
{
if (_rpmts_debug)
}
if (Key) {
+/*@-branchstate@*/
if (PyString_Check(Key)) {
key = PyString_AsString(Key);
len = PyString_Size(Key);
PyErr_SetString(PyExc_TypeError, "unknown key type");
return NULL;
}
+/*@=branchstate@*/
}
/* XXX If not already opened, open the database O_RDONLY now. */