From: David Kalnischkies Date: Mon, 7 Mar 2011 22:06:36 +0000 (+0100) Subject: use FullName and strdup instead of handmade and new[] X-Git-Tag: 0.8.12~4^2~1 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/69f76a34330bfcbc746f1aa25509907490514a1d?ds=inline;hp=--cc use FullName and strdup instead of handmade and new[] --- 69f76a34330bfcbc746f1aa25509907490514a1d 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;