diff options
Diffstat (limited to 'viengoos/server.c')
-rw-r--r-- | viengoos/server.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/viengoos/server.c b/viengoos/server.c index 2e261c6..5a464cd 100644 --- a/viengoos/server.c +++ b/viengoos/server.c @@ -565,23 +565,20 @@ server_loop (void) idx, cap_type_string (type), addr_prefix (object_addr), addr_depth (object_addr)); - struct object *object; - folio_object_alloc (principal, - folio, idx, type, policy, return_code, - type == cap_void ? NULL : &object); + struct cap cap; + cap = folio_object_alloc (principal, + folio, idx, type, policy, return_code); if (type != cap_void) { if (object_slot) { - bool r = cap_set (principal, - object_slot, object_to_cap (object)); + bool r = cap_set (principal, object_slot, cap); assert (r); } if (object_weak_slot) { - bool r = cap_set (principal, object_weak_slot, - object_to_cap (object)); + bool r = cap_set (principal, object_weak_slot, cap); assert (r); object_weak_slot->type = cap_type_weaken (object_weak_slot->type); |