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

Reply via email to