Clean up + clarify popMacro() a bit
- Actually protect against NULL mep (shouldn't happen but...) - Remove bogus comment + add actually relevant comments - Make the *mep reassignment more obvious by taking it out of the if where its easily missed - Replace dead NULL-assignments with a trash-n-burn memset() - Fixup indentation to match general rpm style
This commit is contained in:
parent
6c391a88fa
commit
bd4fc30884
|
@ -691,16 +691,21 @@ pushMacro(rpmMacroEntry * mep,
|
|||
static void
|
||||
popMacro(rpmMacroEntry * mep)
|
||||
{
|
||||
rpmMacroEntry me = (*mep ? *mep : NULL);
|
||||
if (mep && *mep) {
|
||||
rpmMacroEntry me = *mep;
|
||||
|
||||
if (me) {
|
||||
/* XXX cast to workaround const */
|
||||
if ((*mep = me->prev) == NULL)
|
||||
me->name = _free(me->name);
|
||||
me->opts = _free(me->opts);
|
||||
me->body = _free(me->body);
|
||||
me = _free(me);
|
||||
}
|
||||
/* restore previous definition of the macro */
|
||||
*mep = me->prev;
|
||||
|
||||
/* name is shared between entries, only free if last of its kind */
|
||||
if (me->prev == NULL)
|
||||
free(me->name);
|
||||
free(me->opts);
|
||||
free(me->body);
|
||||
|
||||
memset(me, 0, sizeof(*me)); /* trash and burn */
|
||||
free(me);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue