Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Lachu:SystemServices
PackageKit
n-0068-trivial-aptcc-Use-more-smart-pointers-an...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File n-0068-trivial-aptcc-Use-more-smart-pointers-and-various-cl.patch of Package PackageKit
From 48c38a4b824755c8b6b31797815921d032f2f37a Mon Sep 17 00:00:00 2001 From: Matthias Klumpp <matthias@tenstral.net> Date: Mon, 31 Jan 2022 01:44:57 +0100 Subject: [PATCH 068/102] trivial: aptcc: Use more smart pointers and various cleanups diff --git a/backends/aptcc/apt-cache-file.cpp b/backends/aptcc/apt-cache-file.cpp index 62d0e2f3b..961a3a125 100644 --- a/backends/aptcc/apt-cache-file.cpp +++ b/backends/aptcc/apt-cache-file.cpp @@ -1,5 +1,5 @@ /* apt-cache-file.cpp - * + * * Copyright (c) 2012 Daniel Nicoletti <dantti12@gmail.com> * Copyright (c) 2012 Matthias Klumpp <matthias@tenstral.net> * Copyright (c) 2016 Harald Sitter <sitter@kde.org> @@ -357,35 +357,27 @@ bool AptCacheFile::isRemovingEssentialPackages() pkgCache::VerIterator AptCacheFile::resolvePkgID(const gchar *packageId) { - gchar **parts; + g_auto(GStrv) parts = nullptr; pkgCache::PkgIterator pkg; parts = pk_package_id_split(packageId); pkg = (*this)->FindPkg(parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_ARCH]); // Ignore packages that could not be found or that exist only due to dependencies. - if (pkg.end() || (pkg.VersionList().end() && pkg.ProvidesList().end())) { - g_strfreev(parts); + if (pkg.end() || (pkg.VersionList().end() && pkg.ProvidesList().end())) return pkgCache::VerIterator(); - } const pkgCache::VerIterator &ver = findVer(pkg); // check to see if the provided package isn't virtual too if (ver.end() == false && - strcmp(ver.VerStr(), parts[PK_PACKAGE_ID_VERSION]) == 0) { - g_strfreev(parts); + strcmp(ver.VerStr(), parts[PK_PACKAGE_ID_VERSION]) == 0) return ver; - } const pkgCache::VerIterator &candidateVer = findCandidateVer(pkg); // check to see if the provided package isn't virtual too if (candidateVer.end() == false && - strcmp(candidateVer.VerStr(), parts[PK_PACKAGE_ID_VERSION]) == 0) { - g_strfreev(parts); + strcmp(candidateVer.VerStr(), parts[PK_PACKAGE_ID_VERSION]) == 0) return candidateVer; - } - - g_strfreev (parts); return ver; } diff --git a/backends/aptcc/apt-intf.cpp b/backends/aptcc/apt-intf.cpp index c13751fe1..93e59adff 100644 --- a/backends/aptcc/apt-intf.cpp +++ b/backends/aptcc/apt-intf.cpp @@ -2544,7 +2544,8 @@ bool AptIntf::installPackages(PkBitfield flags) _exit(res); } - cout << "PARENT process running..." << endl; + cout << "APTcc parent process running..." << endl; + // make it nonblocking, verry important otherwise // when the child finish we stay stuck. fcntl(readFromChildFD[0], F_SETFL, O_NONBLOCK); @@ -2568,6 +2569,6 @@ bool AptIntf::installPackages(PkBitfield flags) close(pty_master); _system->LockInner(); - cout << "Parent finished..." << endl; + cout << "APTcc Parent finished..." << endl; return true; } diff --git a/backends/aptcc/apt-utils.cpp b/backends/aptcc/apt-utils.cpp index e59247c1c..402e88e12 100644 --- a/backends/aptcc/apt-utils.cpp +++ b/backends/aptcc/apt-utils.cpp @@ -393,11 +393,11 @@ bool utilRestartRequired(const string &packageName) string utilBuildPackageOriginId(pkgCache::VerFileIterator vf) { - if (vf.File().Origin() == NULL) + if (vf.File().Origin() == nullptr) return string("local"); - if (vf.File().Archive() == NULL) + if (vf.File().Archive() == nullptr) return string("local"); - if (vf.File().Component() == NULL) + if (vf.File().Component() == nullptr) return string("invalid"); // https://wiki.debian.org/DebianRepository/Format diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp index e289d21d6..d61d92502 100644 --- a/backends/aptcc/pk-backend-aptcc.cpp +++ b/backends/aptcc/pk-backend-aptcc.cpp @@ -352,13 +352,12 @@ void pk_backend_get_details_local(PkBackend *backend, PkBackendJob *job, gchar * static void backend_get_files_local_thread(PkBackendJob *job, GVariant *params, gpointer user_data) { - gchar **files = nullptr; + g_autofree gchar **files = nullptr; g_variant_get(params, "(^a&s)", &files); - AptIntf *apt = static_cast<AptIntf*>(pk_backend_job_get_user_data(job)); - for (guint i = 0; i < g_strv_length(files); ++i) + for (guint i = 0; files[i] != nullptr; ++i) apt->emitPackageFilesLocal(files[i]); } -- 2.35.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor