OSDN Git Service

svcauth_gss: replace a trivial 'switch' with an 'if'
authorNeilBrown <neilb@suse.de>
Thu, 12 Aug 2010 07:04:07 +0000 (17:04 +1000)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 21 Sep 2010 23:16:31 +0000 (19:16 -0400)
Code like:

  switch(xxx) {
  case -error1:
  case -error2:
     ..
     return;
  case 0:
     stuff;
  }

  can more naturally be written:

  if (xxx < 0)
      return;

  stuff;

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/auth_gss/svcauth_gss.c

index ed005af..dec2a6f 100644 (file)
@@ -1034,30 +1034,27 @@ static int svcauth_gss_handle_init(struct svc_rqst *rqstp,
        rsi_free(&rsikey);
        if (!rsip)
                return SVC_CLOSE;
-       switch (cache_check(&rsi_cache, &rsip->h, &rqstp->rq_chandle)) {
-       case -EAGAIN:
-       case -ETIMEDOUT:
-       case -ENOENT:
+       if (cache_check(&rsi_cache, &rsip->h, &rqstp->rq_chandle) < 0)
                /* No upcall result: */
                return SVC_CLOSE;
-       case 0:
-               ret = SVC_CLOSE;
-               /* Got an answer to the upcall; use it: */
-               if (gss_write_init_verf(rqstp, rsip))
-                       goto out;
-               if (resv->iov_len + 4 > PAGE_SIZE)
-                       goto out;
-               svc_putnl(resv, RPC_SUCCESS);
-               if (svc_safe_putnetobj(resv, &rsip->out_handle))
-                       goto out;
-               if (resv->iov_len + 3 * 4 > PAGE_SIZE)
-                       goto out;
-               svc_putnl(resv, rsip->major_status);
-               svc_putnl(resv, rsip->minor_status);
-               svc_putnl(resv, GSS_SEQ_WIN);
-               if (svc_safe_putnetobj(resv, &rsip->out_token))
-                       goto out;
-       }
+
+       ret = SVC_CLOSE;
+       /* Got an answer to the upcall; use it: */
+       if (gss_write_init_verf(rqstp, rsip))
+               goto out;
+       if (resv->iov_len + 4 > PAGE_SIZE)
+               goto out;
+       svc_putnl(resv, RPC_SUCCESS);
+       if (svc_safe_putnetobj(resv, &rsip->out_handle))
+               goto out;
+       if (resv->iov_len + 3 * 4 > PAGE_SIZE)
+               goto out;
+       svc_putnl(resv, rsip->major_status);
+       svc_putnl(resv, rsip->minor_status);
+       svc_putnl(resv, GSS_SEQ_WIN);
+       if (svc_safe_putnetobj(resv, &rsip->out_token))
+               goto out;
+
        ret = SVC_COMPLETE;
 out:
        cache_put(&rsip->h, &rsi_cache);