gendispatch: Use g_autoptr() for virAccessManager

Let's modify our gendispatch.pl script so that the code it
generates for the ACL checks uses g_autoptr instead of explicit
unref()-ing in each exit path.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik committed 2026-07-02 15:51:18 +02:00
1 parent c2bd9f01b5
commit de14bd77a9
2 files changed
+2 -4

No files matched your search

+1 -1
View File
@@ -38,7 +38,7 @@ void virAccessManagerSetDefault(virAccessManager *manager);
virAccessManager *virAccessManagerNew(const char *name);
virAccessManager *virAccessManagerNewStack(const char **names);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virAccessManager, virObjectUnref);
void *virAccessManagerGetPrivateData(virAccessManager *manager);
+1 -3
View File
@@ -2165,7 +2165,7 @@ elsif ($mode eq "client") {
print "/* Returns: $fail on error/denied, $pass on allowed */\n";
print "$ret $apiname(" . join(", ", @argdecls) . ")\n";
print "{\n";
print " virAccessManager *mgr;\n";
print " g_autoptr(virAccessManager) mgr = NULL;\n";
print " int rv;\n";
print "\n";
print " if (!(mgr = virAccessManagerGetDefault())) {\n";
@@ -2205,7 +2205,6 @@ elsif ($mode eq "client") {
print " ";
}
print "(rv = $method(" . join(", ", @argvars, $perm) . ")) <= 0) {\n";
print " virObjectUnref(mgr);\n";
if ($action eq "Ensure") {
print " if (rv == 0)\n";
print " virReportError(VIR_ERR_ACCESS_DENIED,\n";
@@ -2219,7 +2218,6 @@ elsif ($mode eq "client") {
print "\n";
}
print " virObjectUnref(mgr);\n";
print " return $pass;\n";
print "}\n\n";
}