Natively allocate bunch of miscellaneous librpm structs

These have nothing in common except "miscellaneous structs
allocated by calloc/free", and that they have lots of data to
consider moving to native data types but not just now.
This commit is contained in:
Panu Matilainen 2024-04-26 12:22:40 +03:00
parent b287bdcadf
commit 87b5627f0c
6 changed files with 15 additions and 18 deletions

View File

@ -83,7 +83,7 @@ rpmcpio_t rpmcpioOpen(FD_t fd, char mode)
(mode & O_ACCMODE) != O_WRONLY)
return NULL;
rpmcpio_t cpio = (rpmcpio_t)xcalloc(1, sizeof(*cpio));
rpmcpio_t cpio = new rpmcpio_s {};
cpio->fd = fdLink(fd);
cpio->mode = mode;
cpio->offset = 0;
@ -460,7 +460,7 @@ rpmcpio_t rpmcpioFree(rpmcpio_t cpio)
if (cpio) {
if (cpio->fd)
(void) rpmcpioClose(cpio);
free(cpio);
delete cpio;
}
return NULL;
}

View File

@ -592,8 +592,7 @@ static rpmpsm rpmpsmFree(rpmpsm psm)
rpmfilesFree(psm->files);
rpmtsFree(psm->ts),
/* XXX rpmte not refcounted yet */
memset(psm, 0, sizeof(*psm)); /* XXX trash and burn */
free(psm);
delete psm;
}
return NULL;
}
@ -615,7 +614,7 @@ static int isUpdate(rpmts ts, rpmte te)
static rpmpsm rpmpsmNew(rpmts ts, rpmte te, pkgGoal goal)
{
rpmpsm psm = (rpmpsm)xcalloc(1, sizeof(*psm));
rpmpsm psm = new rpmpsm_s {};
psm->ts = rpmtsLink(ts);
psm->files = rpmteFiles(te);
psm->te = te; /* XXX rpmte not refcounted yet */

View File

@ -196,16 +196,14 @@ rpmgi rpmgiFree(rpmgi gi)
if (gi != NULL) {
rpmtsFree(gi->ts);
argvFree(gi->argv);
memset(gi, 0, sizeof(*gi)); /* XXX trash and burn */
free(gi);
delete gi;
}
return NULL;
}
rpmgi rpmgiNew(rpmts ts, rpmgiFlags flags, ARGV_const_t argv)
{
rpmgi gi = (rpmgi)xcalloc(1, sizeof(*gi));
rpmgi gi = new rpmgi_s {};
gi->ts = rpmtsLink(ts);

View File

@ -24,7 +24,7 @@ struct rpmlock_s {
static rpmlock rpmlock_new(const char *lock_path, const char *descr)
{
rpmlock lock = (rpmlock) malloc(sizeof(*lock));
rpmlock lock = new rpmlock_s {};
if (lock != NULL) {
mode_t oldmask = umask(022);
@ -35,7 +35,7 @@ static rpmlock rpmlock_new(const char *lock_path, const char *descr)
if (errno == EACCES)
lock->fd = open(lock_path, O_RDONLY);
if (lock->fd == -1) {
free(lock);
delete lock;
lock = NULL;
} else {
lock->openmode = RPMLOCK_READ;
@ -58,7 +58,7 @@ static void rpmlock_free(rpmlock lock)
free(lock->path);
free(lock->descr);
(void) close(lock->fd);
free(lock);
delete lock;
}
}

View File

@ -525,7 +525,7 @@ static rpmScript rpmScriptNew(Header h, rpmTagVal tag, const char *body,
rpmscriptFlags flags, const char *prefix)
{
char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
rpmScript script = (rpmScript)xcalloc(1, sizeof(*script));
rpmScript script = new rpmScript_s {};
script->tag = tag;
script->type = getScriptType(tag);
script->flags = getDefFlags(tag) | flags;
@ -553,7 +553,7 @@ static rpmScript rpmScriptNew(Header h, rpmTagVal tag, const char *body,
void rpmScriptSetNextFileFunc(rpmScript script, nextfilefunc func,
void *param)
{
script->nextFileFunc = (struct scriptNextFileFunc_s *)xmalloc(sizeof(*script->nextFileFunc));
script->nextFileFunc = new scriptNextFileFunc_s {};
script->nextFileFunc->func = func;
script->nextFileFunc->param = param;
}
@ -706,8 +706,8 @@ rpmScript rpmScriptFree(rpmScript script)
free(script->args);
free(script->body);
free(script->descr);
free(script->nextFileFunc);
free(script);
delete script->nextFileFunc;
delete script;
}
return NULL;
}

View File

@ -352,7 +352,7 @@ void rpmvsAppendTag(struct rpmvs_s *vs, hdrblob blob, rpmTagVal tag)
struct rpmvs_s *rpmvsCreate(int vfylevel, rpmVSFlags vsflags, rpmKeyring keyring)
{
struct rpmvs_s *sis = (struct rpmvs_s *)xcalloc(1, sizeof(*sis));
struct rpmvs_s *sis = new rpmvs_s {};
sis->vsflags = vsflags;
sis->keyring = rpmKeyringLink(keyring);
sis->vfylevel = vfylevel;
@ -387,7 +387,7 @@ struct rpmvs_s *rpmvsFree(struct rpmvs_s *sis)
rpmsinfoFini(&sis->sigs[i]);
}
free(sis->sigs);
free(sis);
delete sis;
}
return NULL;
}