From 0c79375925aa2f0457d5826f6ecada3cf02953f8 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 9 Jun 2005 14:17:27 +0000 Subject: Second stage of bits.h integration; make the buffer argument explicit. --- bits.h | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'bits.h') diff --git a/bits.h b/bits.h index 1dcea658..c38fa7e5 100644 --- a/bits.h +++ b/bits.h @@ -4,9 +4,6 @@ * these macros extract bytes, words, longwords, floats or doubles from * a message that contains these items in MSB-first byte order. * - * the macros access a local buffer named "buf" which must be declared - * as unsigned char buf[SIZE]; - * * assumptions: * char is 8 bits, short is 16 bits, int is 32 bits, long long is 64 bits, * float is 32 bits IEEE754, double is 64 bits IEEE754. @@ -30,13 +27,13 @@ union long_double { double d; }; -#define getsb(off) ((char)buf[off]) -#define getub(off) (buf[off]) -#define getsw(off) ((short)(((unsigned)getub(off) << 8) | (unsigned)getub(off+1))) -#define getuw(off) ((unsigned short)(((unsigned)getub(off) << 8) | (unsigned)getub(off+1))) -#define getsl(off) ((int)(((unsigned)getuw(off) << 16) | getuw(off+2))) -#define getul(off) ((unsigned int)(((unsigned)getuw(off) << 16) | getuw(off+2))) -#define getsL(off) ((long long)(((unsigned long long)getul(off) << 32) | getul(off+4))) -#define getuL(off) ((unsigned long long)(((unsigned long long)getul(off) << 32) | getul(off+4))) -#define getf(off) (i_f.i = getsl(off), i_f.f) -#define getd(off) (l_d.l = getsL(off), l_d.d) +#define getsb(buf, off) ((char)buf[off]) +#define getub(buf, off) (buf[off]) +#define getsw(buf, off) ((short)(((unsigned)getub(buf, off) << 8) | (unsigned)getub(buf, off+1))) +#define getuw(buf, off) ((unsigned short)(((unsigned)getub(buf, off) << 8) | (unsigned)getub(buf, off+1))) +#define getsl(buf, off) ((int)(((unsigned)getuw(buf, off) << 16) | getuw(buf, off+2))) +#define getul(buf, off) ((unsigned int)(((unsigned)getuw(buf, off) << 16) | getuw(buf, off+2))) +#define getsL(buf, off) ((long long)(((unsigned long long)getul(buf, off) << 32) | getul(buf, off+4))) +#define getuL(buf, off) ((unsigned long long)(((unsigned long long)getul(buf, off) << 32) | getul(buf, off+4))) +#define getf(buf, off) (i_f.i = getsl(buf, off), i_f.f) +#define getd(buf, off) (l_d.l = getsL(buf, off), l_d.d) -- cgit v1.2.1