public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Petr Vandrovec <vandrove@vc.cvut.cz>
To: Bob Miller <rem@osdl.org>
Cc: Dave Jones <davej@codemonkey.org.uk>,
	trivial@rustcorp.com.au, linux-kernel@vger.kernel.org
Subject: Re: [TRIVIAL PATCH 2.5.48] Fixed ifdefs for a label in ncpfs/sock.c
Date: Tue, 19 Nov 2002 22:50:50 +0100	[thread overview]
Message-ID: <20021119215050.GA4837@vana> (raw)
In-Reply-To: <20021119205823.GB4884@doc.pdx.osdl.net>

On Tue, Nov 19, 2002 at 12:58:23PM -0800, Bob Miller wrote:
> On Tue, Nov 19, 2002 at 07:02:17PM +0000, Dave Jones wrote:
> > On Tue, Nov 19, 2002 at 10:52:36AM -0800, Bob Miller wrote:
> >  > diff -Nru a/fs/ncpfs/sock.c b/fs/ncpfs/sock.c
> >  > --- a/fs/ncpfs/sock.c	Tue Nov 19 10:31:17 2002
> >  > +++ b/fs/ncpfs/sock.c	Tue Nov 19 10:31:17 2002
> >  > @@ -587,7 +587,9 @@
> >  >  				}
> >  >  #endif				
> >  >  				type = ntohs(server->rcv.buf.type);
> >  > +#ifdef CONFIG_NCPFS_PACKET_SIGNING				
> >  >  cont:;				
> >  > +#endif
> >  >  				if (type != NCP_REPLY) {
> >  >  					if (datalen - 8 <= sizeof(server->unexpected_packet.data)) {
> > 
> > Eww, personally I think the fix is worse than the warning.
> > 
> > 		Dave
> I know.  I personally hate #ifdef's and goto's...  I spent more than a few
> minutes trying to find a "trivial" way to clean this up, but this was
> the best I could do without reorganizing LOTS of code (then it's not
> "trivial" anymore).

If you want just eliminate some gotos (and eventually warnings... you should
always enable packet signing, btw), try this one ;-) But I'm not sure
that code below is better than using goto...
							Petr Vandrovec
							(ncpfs maintainer)

diff -u linux-2.5.48-c903.dist/fs/ncpfs/sock.c linux-2.5.48-c903/fs/ncpfs/sock.c
--- linux-2.5.48-c903.dist/fs/ncpfs/sock.c	2002-11-19 15:28:26.000000000 +0100
+++ linux-2.5.48-c903/fs/ncpfs/sock.c	2002-11-19 22:46:39.000000000 +0100
@@ -584,10 +584,12 @@
 					server->rcv.len = 8;
 					server->rcv.state = 4;
 					break;
-				}
+			case 4:
+					datalen = server->rcv.buf.len;
+					type = ntohs(server->rcv.buf.type2);
+				} else
 #endif				
 				type = ntohs(server->rcv.buf.type);
-cont:;				
 				if (type != NCP_REPLY) {
 					if (datalen - 8 <= sizeof(server->unexpected_packet.data)) {
 						*(__u16*)(server->unexpected_packet.data) = htons(type);
@@ -622,12 +624,6 @@
 				server->rcv.len = datalen - 10;
 				server->rcv.state = 1;
 				break;
-#ifdef CONFIG_NCPFS_PACKET_SIGNING				
-			case 4:
-				datalen = server->rcv.buf.len;
-				type = ntohs(server->rcv.buf.type2);
-				goto cont;
-#endif
 			case 1:
 				req = server->rcv.creq;
 				if (req->tx_type != NCP_ALLOC_SLOT_REQUEST) {
@@ -652,20 +648,20 @@
 				}
 #endif				
 				ncp_finish_request(req, req->datalen);
-			nextreq:;
+				if (0) {
+			case 3:
+					ncp_finish_request(server->rcv.creq, -EIO);
+				}
 				__ncp_next_request(server);
+				if (0) {
+			case 5:
+					info_server(server, 0, server->unexpected_packet.data, server->unexpected_packet.len);
+				}
 			case 2:
-			next:;
 				server->rcv.ptr = (unsigned char*)&server->rcv.buf;
 				server->rcv.len = 10;
 				server->rcv.state = 0;
 				break;
-			case 3:
-				ncp_finish_request(server->rcv.creq, -EIO);
-				goto nextreq;
-			case 5:
-				info_server(server, 0, server->unexpected_packet.data, server->unexpected_packet.len);
-				goto next;
 		}
 	}
 }

  reply	other threads:[~2002-11-19 21:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-19 18:52 [TRIVIAL PATCH 2.5.48] Fixed ifdefs for a label in ncpfs/sock.c Bob Miller
2002-11-19 19:02 ` Dave Jones
2002-11-19 20:58   ` Bob Miller
2002-11-19 21:50     ` Petr Vandrovec [this message]
2002-11-19 23:13   ` Robert Love

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021119215050.GA4837@vana \
    --to=vandrove@vc.cvut.cz \
    --cc=davej@codemonkey.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rem@osdl.org \
    --cc=trivial@rustcorp.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox