summaryrefslogtreecommitdiff
path: root/src/polkit/polkittemporaryauthorization.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/polkit/polkittemporaryauthorization.c')
-rw-r--r--src/polkit/polkittemporaryauthorization.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/polkit/polkittemporaryauthorization.c b/src/polkit/polkittemporaryauthorization.c
index b2c6003..5e07678 100644
--- a/src/polkit/polkittemporaryauthorization.c
+++ b/src/polkit/polkittemporaryauthorization.c
@@ -212,22 +212,15 @@ polkit_temporary_authorization_new_for_gvariant (GVariant *value,
return authorization;
}
+/* Note that this returns a floating value. */
GVariant *
polkit_temporary_authorization_to_gvariant (PolkitTemporaryAuthorization *authorization)
{
- GVariant *ret;
- GVariant *subject_gvariant;
-
- subject_gvariant = polkit_subject_to_gvariant (authorization->subject);
- g_variant_ref_sink (subject_gvariant);
- ret = g_variant_new ("(ss@(sa{sv})tt)",
- authorization->id,
- authorization->action_id,
- subject_gvariant,
- authorization->time_obtained,
- authorization->time_expires);
- g_variant_unref (subject_gvariant);
-
- return ret;
+ return g_variant_new ("(ss@(sa{sv})tt)",
+ authorization->id,
+ authorization->action_id,
+ polkit_subject_to_gvariant (authorization->subject), /* A floating value */
+ authorization->time_obtained,
+ authorization->time_expires);
}