Hiten Pandya <[EMAIL PROTECTED]> 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 - [EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message