summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/dpkgpm.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 84443447f..7b0955b96 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1003,10 +1003,8 @@ bool pkgDPkgPM::Go(int OutStatusFd)
Args[n++] = I->Pkg.Name();
else
{
- string const PkgDesc = I->Pkg.Name() + string(":") + string(I->Pkg.Arch());
- Packages[pkgcount] = new char[PkgDesc.size()+1];
- strncpy(Packages[pkgcount++],PkgDesc.c_str(),PkgDesc.size()+1);
- Args[n++] = Packages[pkgcount-1];
+ Packages[pkgcount] = strdup(I->Pkg.FullName(false).c_str());
+ Args[n++] = Packages[pkgcount++];
}
Size += strlen(Args[n-1]);
}
@@ -1160,7 +1158,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
/* clean up the temporary allocation for multiarch package names in
the parent, so we don't leak memory when we return. */
for (unsigned int i = 0; i < pkgcount; i++)
- delete [] Packages[i];
+ free(Packages[i]);
// the result of the waitpid call
int res;