diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-05-25 21:40:43 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-05-25 21:40:43 +0000 |
commit | b492c3acccb3f8c97559ddfc2a25f25953a026d2 (patch) | |
tree | a9c42aa2bd86a88a849ffaa005766ffe3dee762a /src/backend/utils | |
parent | 13b729ca5267b58005f1ca9c873a86c2b0db3591 (diff) | |
download | postgresql-b492c3acccb3f8c97559ddfc2a25f25953a026d2.tar.gz postgresql-b492c3acccb3f8c97559ddfc2a25f25953a026d2.zip |
Add parentheses to macros when args are used in computations. Without
them, the executation behavior could be unexpected.
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/adt/formatting.c | 22 | ||||
-rw-r--r-- | src/backend/utils/adt/pg_lzcompress.c | 22 | ||||
-rw-r--r-- | src/backend/utils/sort/tuplesort.c | 4 |
3 files changed, 24 insertions, 24 deletions
diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 8645fceecf7..68a73bbb6fc 100644 --- a/src/backend/utils/adt/formatting.c +++ b/src/backend/utils/adt/formatting.c @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------- * formatting.c * - * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.86 2005/03/26 00:41:31 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.87 2005/05/25 21:40:40 momjian Exp $ * * * Portions Copyright (c) 1999-2005, PostgreSQL Global Development Group @@ -171,7 +171,7 @@ static char *months_full[] = { * AC / DC * ---------- */ -#define YEAR_ABS(_y) (_y <= 0 ? -(_y -1) : _y) +#define YEAR_ABS(_y) ((_y) <= 0 ? -((_y) - 1) : _y) #define BC_STR_ORIG " BC" #define A_D_STR "A.D." @@ -280,15 +280,15 @@ typedef struct */ #define NUM_F_DECIMAL (1 << 1) #define NUM_F_LDECIMAL (1 << 2) -#define NUM_F_ZERO (1 << 3) +#define NUM_F_ZERO (1 << 3) #define NUM_F_BLANK (1 << 4) #define NUM_F_FILLMODE (1 << 5) #define NUM_F_LSIGN (1 << 6) #define NUM_F_BRACKET (1 << 7) #define NUM_F_MINUS (1 << 8) -#define NUM_F_PLUS (1 << 9) +#define NUM_F_PLUS (1 << 9) #define NUM_F_ROMAN (1 << 10) -#define NUM_F_MULTI (1 << 11) +#define NUM_F_MULTI (1 << 11) #define NUM_F_PLUS_POST (1 << 12) #define NUM_F_MINUS_POST (1 << 13) @@ -457,13 +457,13 @@ static int dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, v * Suffix tests * ---------- */ -#define S_THth(_s) (((_s & DCH_S_TH) || (_s & DCH_S_th)) ? 1 : 0) -#define S_TH(_s) ((_s & DCH_S_TH) ? 1 : 0) -#define S_th(_s) ((_s & DCH_S_th) ? 1 : 0) -#define S_TH_TYPE(_s) ((_s & DCH_S_TH) ? TH_UPPER : TH_LOWER) +#define S_THth(_s) ((((_s) & DCH_S_TH) || ((_s) & DCH_S_th)) ? 1 : 0) +#define S_TH(_s) (((_s) & DCH_S_TH) ? 1 : 0) +#define S_th(_s) (((_s) & DCH_S_th) ? 1 : 0) +#define S_TH_TYPE(_s) (((_s) & DCH_S_TH) ? TH_UPPER : TH_LOWER) -#define S_FM(_s) ((_s & DCH_S_FM) ? 1 : 0) -#define S_SP(_s) ((_s & DCH_S_SP) ? 1 : 0) +#define S_FM(_s) (((_s) & DCH_S_FM) ? 1 : 0) +#define S_SP(_s) (((_s) & DCH_S_SP) ? 1 : 0) /* ---------- * Suffixes definition for DATE-TIME TO/FROM CHAR diff --git a/src/backend/utils/adt/pg_lzcompress.c b/src/backend/utils/adt/pg_lzcompress.c index a4ca8b0bbf2..d7c34b6a929 100644 --- a/src/backend/utils/adt/pg_lzcompress.c +++ b/src/backend/utils/adt/pg_lzcompress.c @@ -1,7 +1,7 @@ /* ---------- * pg_lzcompress.c - * - * $PostgreSQL: pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.18 2003/11/29 19:51:59 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.19 2005/05/25 21:40:41 momjian Exp $ * * This is an implementation of LZ compression for PostgreSQL. * It uses a simple history table and generates 2-3 byte tags @@ -328,8 +328,8 @@ do { \ do { \ if ((__ctrl & 0xff) == 0) \ { \ - *__ctrlp = __ctrlb; \ - __ctrlp = __buf++; \ + *(__ctrlp) = __ctrlb; \ + __ctrlp = (__buf)++; \ __ctrlb = 0; \ __ctrl = 1; \ } \ @@ -346,7 +346,7 @@ do { \ #define pglz_out_literal(_ctrlp,_ctrlb,_ctrl,_buf,_byte) \ do { \ pglz_out_ctrl(_ctrlp,_ctrlb,_ctrl,_buf); \ - *_buf++ = (unsigned char)(_byte); \ + *(_buf)++ = (unsigned char)(_byte); \ _ctrl <<= 1; \ } while (0) @@ -366,14 +366,14 @@ do { \ _ctrl <<= 1; \ if (_len > 17) \ { \ - _buf[0] = (unsigned char)((((_off) & 0xf00) >> 4) | 0x0f); \ - _buf[1] = (unsigned char)((_off & 0xff)); \ - _buf[2] = (unsigned char)((_len) - 18); \ - _buf += 3; \ + (_buf)[0] = (unsigned char)((((_off) & 0xf00) >> 4) | 0x0f); \ + (_buf)[1] = (unsigned char)(((_off) & 0xff)); \ + (_buf)[2] = (unsigned char)((_len) - 18); \ + (_buf) += 3; \ } else { \ - _buf[0] = (unsigned char)((((_off) & 0xf00) >> 4) | (_len - 3)); \ - _buf[1] = (unsigned char)((_off) & 0xff); \ - _buf += 2; \ + (_buf)[0] = (unsigned char)((((_off) & 0xf00) >> 4) | ((_len) - 3)); \ + (_buf)[1] = (unsigned char)((_off) & 0xff); \ + (_buf) += 2; \ } \ } while (0) diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c index deedd53bd3b..12704a09c44 100644 --- a/src/backend/utils/sort/tuplesort.c +++ b/src/backend/utils/sort/tuplesort.c @@ -78,7 +78,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.48 2005/05/06 17:24:54 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.49 2005/05/25 21:40:41 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1564,7 +1564,7 @@ tuplesort_restorepos(Tuplesortstate *state) */ #define HEAPCOMPARE(tup1,index1,tup2,index2) \ - (checkIndex && (index1 != index2) ? index1 - index2 : \ + (checkIndex && (index1 != index2) ? (index1) - (index2) : \ COMPARETUP(state, tup1, tup2)) /* |