Formerly mach/hurd/__setgid.c.~5~
[kopensolaris-gnu/glibc.git] / sysdeps / mach / hurd / setgid.c
index f46e21d..3163249 100644 (file)
@@ -47,7 +47,7 @@ DEFUN(__setgid, (gid), gid_t gid)
     if (_hurd_id.gids[i] == gid)
       {
        /* We already have this gid.  Swap it with gids[0]
-          so getgid will return it.  */
+          so getegid will return it.  */
        _hurd_id.gids[i] = _hurd_id.gids[0];
        break;
       }
@@ -70,17 +70,15 @@ DEFUN(__setgid, (gid), gid_t gid)
 
   _hurd_id.rgid = _hurd_id.gids[0];
 
-  if (err = _HURD_PORT_USE (&_hurd_auth,
-                           __auth_makeauth (port, &_hurd_id, &newauth)))
-    {
-      _hurd_id_valid = 0;
-      __mutex_unlock (&_hurd_idlock);
-      return __hurd_fail (err);
-    }
-  else
-    {
-      int err = __setauth (newauth);
-      __mach_port_deallocate (__mach_task_self (), newauth);
-      return err;
-    }
+  err = _HURD_PORT_USE (&_hurd_auth,
+                       __auth_makeauth (port, &_hurd_id, &newauth));
+  _hurd_id_valid = 0;
+  __mutex_unlock (&_hurd_idlock);
+
+  if (err)
+    return __hurd_fail (err);
+
+  err = __setauth (newauth);
+  __mach_port_deallocate (__mach_task_self (), newauth);
+  return err;
 }