mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Add more missing 'do { ... } while (0)' in missing macros. Without it,
these macros fail in if/else cases: #define X \ { \ ... \ } { if (...) X; else ... } with proper setup: #define X \ do { \ ... \ } while (0) it works fine.
This commit is contained in:
@ -23,7 +23,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/contrib/pg_resetxlog/Attic/pg_resetxlog.c,v 1.6 2001/07/19 02:12:34 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/contrib/pg_resetxlog/Attic/pg_resetxlog.c,v 1.7 2001/10/25 00:55:48 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -273,7 +273,7 @@ static uint32 crc_tableV0[] = {
|
||||
#define INIT_CRC64V0(crc) ((crc).crc1 = 0xffffffff, (crc).crc2 = 0xffffffff)
|
||||
#define FIN_CRC64V0(crc) ((crc).crc1 ^= 0xffffffff, (crc).crc2 ^= 0xffffffff)
|
||||
#define COMP_CRC64V0(crc, data, len) \
|
||||
{\
|
||||
do {\
|
||||
uint32 __c1 = (crc).crc1;\
|
||||
uint32 __c2 = (crc).crc2;\
|
||||
char *__data = (char *) (data);\
|
||||
@ -289,7 +289,7 @@ static uint32 crc_tableV0[] = {
|
||||
__c1 = crc_tableV0[(__c1 ^ *__data++) & 0xff] ^ (__c1 >> 8);\
|
||||
(crc).crc1 = __c1;\
|
||||
(crc).crc2 = __c2;\
|
||||
}
|
||||
} while (0)
|
||||
|
||||
#define EQ_CRC64V0(c1,c2) ((c1).crc1 == (c2).crc1 && (c1).crc2 == (c2).crc2)
|
||||
|
||||
|
Reference in New Issue
Block a user