aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--URPM.xs16
1 files changed, 7 insertions, 9 deletions
diff --git a/URPM.xs b/URPM.xs
index 42cc011..4825cfd 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -720,14 +720,14 @@ return_problems(rpmps ps, int translate_message, int raw_message) {
static char *
pack_list(const Header header, rpmTag tag_name, rpmTag tag_flags, rpmTag tag_version) {
char buff[65536];
- rpmTag *flags = NULL;
- char **list_evr = NULL;
- unsigned int i;
char *p = buff;
struct rpmtd_s td;
if (headerGet(header, tag_name, &td, HEADERGET_DEFAULT)) {
char **list = td.data;
+ char **list_evr = NULL;
+ rpmTag *flags = NULL;
+ unsigned int i;
struct rpmtd_s td_flags, td_list_evr;
if (tag_flags && headerGet(header, tag_flags, &td_flags, HEADERGET_DEFAULT)) flags = td_flags.data;
@@ -820,7 +820,6 @@ update_provides(const URPM__Package pkg, HV *provides) {
if (pkg->h) {
int len;
struct rpmtd_s td, td_flags;
- rpmsenseFlags *flags = NULL;
unsigned int i;
/* examine requires for files which need to be marked in provides */
@@ -835,6 +834,7 @@ update_provides(const URPM__Package pkg, HV *provides) {
/* update all provides */
if (headerGet(pkg->h, RPMTAG_PROVIDENAME, &td, HEADERGET_DEFAULT)) {
char **list = td.data;
+ rpmsenseFlags *flags = NULL;
if (headerGet(pkg->h, RPMTAG_PROVIDEFLAGS, &td_flags, HEADERGET_DEFAULT))
flags = td_flags.data;
for (i = 0; i < rpmtdCount(&td); ++i) {
@@ -1022,21 +1022,19 @@ call_package_callback(SV *urpm, SV *sv_pkg, SV *callback) {
static int
parse_line(AV *depslist, HV *provides, HV *obsoletes, URPM__Package pkg, char *buff, SV *urpm, SV *callback) {
- SV *sv_pkg;
- URPM__Package _pkg;
char *tag, *data;
- int data_len;
if (buff[0] == 0)
return 1;
else if ((tag = buff)[0] == '@' && (data = strchr(tag+1, '@')) != NULL) {
*tag++ = *data++ = 0;
- data_len = 1+strlen(data);
+ int data_len = 1+strlen(data);
if (!strcmp(tag, "info")) {
pkg->info = memcpy(malloc(data_len), data, data_len);
pkg->flag &= ~FLAG_ID;
pkg->flag |= 1 + av_len(depslist);
- sv_pkg = sv_setref_pv(newSVpvs(""), "URPM::Package",
+ URPM__Package _pkg;
+ SV *sv_pkg = sv_setref_pv(newSVpvs(""), "URPM::Package",
_pkg = memcpy(malloc(sizeof(struct s_Package)), pkg, sizeof(struct s_Package)));
if (call_package_callback(urpm, sv_pkg, callback)) {
if (provides) update_provides(_pkg, provides);