921e5a0eb4
From-SVN: r14840
31 lines
382 B
C
31 lines
382 B
C
f (b, c)
|
|
unsigned char *b;
|
|
int c;
|
|
{
|
|
unsigned long v = 0;
|
|
switch (c)
|
|
{
|
|
case 'd':
|
|
v = ((unsigned long)b[0] << 8) + b[1];
|
|
v >>= 9;
|
|
break;
|
|
|
|
case 'k':
|
|
v = b[3] >> 4;
|
|
break;
|
|
|
|
default:
|
|
abort ();
|
|
}
|
|
|
|
return v;
|
|
}
|
|
main ()
|
|
{
|
|
char buf[4];
|
|
buf[0] = 170; buf[1] = 5;
|
|
if (f (buf, 'd') != 85)
|
|
abort ();
|
|
exit (0);
|
|
}
|