Date: 11 May 2002 18:34:44 +0200 From: Dag-Erling Smorgrav <des@ofug.org> To: hiten@uk.FreeBSD.org Cc: current@FreeBSD.org Subject: Re: alpha tinderbox failure Message-ID: <xzpy9eqzlqz.fsf@flood.ping.uio.no> In-Reply-To: <20020511161441.GA1568@hpdi.ath.cx> References: <20020511161441.GA1568@hpdi.ath.cx>
index | next in thread | previous in thread | raw e-mail
Hiten Pandya <hiten@uk.FreeBSD.org> writes:
> > ===> libtelnet
> > cc1: warnings being treated as errors
> > /.amd_mnt/freefall/host/d/home/des/tinderbox/src/crypto/telnet/libtelnet/kerberos.c: In function
> > `kerberos4_cksum':
> > /.amd_mnt/freefall/host/d/home/des/tinderbox/src/crypto/telnet/libtelnet/kerberos.c:496: warning:
> > unreachable code at beginning of switch statement
> > *** Error code 1
>
>
> %%%
> int
> kerberos4_cksum(unsigned char *d, int n)
> {
> int ck = 0;
>
> /*
> * A comment is probably needed here for those not
> * well versed in the "C" language. Yes, this is
> * supposed to be a "switch" with the body of the
> * "switch" being a "while" statement. The whole
> * purpose of the switch is to allow us to jump into
> * the middle of the while() loop, and then not have
> * to do any more switch()s.
> *
> * Some compilers will spit out a warning message
> * about the loop not being entered at the top.
> */
> switch (n&03)
> while (n > 0) {
> case 0:
> ck ^= (int)*d++ << 24;
> --n;
> case 3:
> ck ^= (int)*d++ << 16;
> --n;
> case 2:
> ck ^= (int)*d++ << 8;
> --n;
> case 1:
> ck ^= (int)*d++;
> --n;
> }
> return(ck);
> }
> %%%
Hmm, does this mean Duff's Device is not valid C?
DES
--
Dag-Erling Smorgrav - des@ofug.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpy9eqzlqz.fsf>
