Add do { ... } while (0) to more bad macros.
authorBruce Momjian
Thu, 25 Oct 2001 01:29:37 +0000 (01:29 +0000)
committerBruce Momjian
Thu, 25 Oct 2001 01:29:37 +0000 (01:29 +0000)
13 files changed:
contrib/fuzzystrmatch/fuzzystrmatch.c
contrib/pgcrypto/md5.c
contrib/pgcrypto/sha1.c
contrib/tsearch/query.c
contrib/tsearch/txtidx.c
src/backend/port/dynloader/bsdi.h
src/backend/port/dynloader/linux.h
src/backend/regex/engine.c
src/backend/regex/regexec.c
src/backend/utils/adt/pg_lzcompress.c
src/interfaces/odbc/convert.c
src/interfaces/odbc/iodbc.h
src/tools/find_baddefs

index 4a2d3f932e7b594aa2081a8941bdbd988e33f012..d6ec0f5c30aba23f3eae8804f26b82612ea2ced5 100644 (file)
@@ -280,9 +280,9 @@ char Lookahead(char * word, int how_far) {
 
 
 /* phonize one letter */
-#define Phonize(c) {(*phoned_word)[p_idx++] = c;}
+#define Phonize(c) do {(*phoned_word)[p_idx++] = c;} while (0)
 /* Slap a null character on the end of the phoned word */
-#define End_Phoned_Word    {(*phoned_word)[p_idx] = '\0';}
+#define End_Phoned_Word    do {(*phoned_word)[p_idx] = '\0';} while (0)
 /* How long is the phoned word? */
 #define Phone_Len  (p_idx)
 
index 3ae9d099824839fcfb4281441befac379a745b20..d022d61627fe380ecafe3a0cee956885279d4268 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: md5.c,v 1.6 2001/08/21 00:42:41 momjian Exp $  */
+/* $Id: md5.c,v 1.7 2001/10/25 01:29:37 momjian Exp $  */
 /*    $KAME: md5.c,v 1.3 2000/02/22 14:01:17 itojun Exp $     */
 
 /*
 #define H(X, Y, Z) ((X) ^ (Y) ^ (Z))
 #define I(X, Y, Z) ((Y) ^ ((X) | (~Z)))
 
-#define ROUND1(a, b, c, d, k, s, i) { \
+#define ROUND1(a, b, c, d, k, s, i) \
+do { \
    (a) = (a) + F((b), (c), (d)) + X[(k)] + T[(i)]; \
    (a) = SHIFT((a), (s)); \
    (a) = (b) + (a); \
-}
+} while (0)
 
-#define ROUND2(a, b, c, d, k, s, i) { \
+#define ROUND2(a, b, c, d, k, s, i) \
+do { \
    (a) = (a) + G((b), (c), (d)) + X[(k)] + T[(i)]; \
    (a) = SHIFT((a), (s)); \
    (a) = (b) + (a); \
-}
+} while (0)
 
-#define ROUND3(a, b, c, d, k, s, i) { \
+#define ROUND3(a, b, c, d, k, s, i) \
+do { \
    (a) = (a) + H((b), (c), (d)) + X[(k)] + T[(i)]; \
    (a) = SHIFT((a), (s)); \
    (a) = (b) + (a); \
-}
+} while (0)
 
-#define ROUND4(a, b, c, d, k, s, i) { \
+#define ROUND4(a, b, c, d, k, s, i) \
+do { \
    (a) = (a) + I((b), (c), (d)) + X[(k)] + T[(i)]; \
    (a) = SHIFT((a), (s)); \
    (a) = (b) + (a); \
-}
+} while (0)
 
 #define Sa  7
 #define Sb 12
index 98ad552182f29ebfb1457b12d37da3cc2ce6f848..20c6230540bbe835478182a752c6e4939ad6b7ee 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: sha1.c,v 1.6 2001/08/21 00:42:41 momjian Exp $ */
+/* $Id: sha1.c,v 1.7 2001/10/25 01:29:37 momjian Exp $ */
 /*    $KAME: sha1.c,v 1.3 2000/02/22 14:01:18 itojun Exp $    */
 
 /*
@@ -65,22 +65,24 @@ static uint32 _K[] = {0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6};
 #define BCOUNT (ctxt->c.b64[0] / 8)
 #define W(n)   (ctxt->m.b32[(n)])
 
-#define PUTBYTE(x) { \
+#define PUTBYTE(x) \
+do { \
    ctxt->m.b8[(COUNT % 64)] = (x);     \
    COUNT++;                \
    COUNT %= 64;                \
    ctxt->c.b64[0] += 8;            \
    if (COUNT % 64 == 0)            \
        sha1_step(ctxt);        \
-    }
+} while (0)
 
-#define PUTPAD(x)  { \
+#define PUTPAD(x) \
+do { \
    ctxt->m.b8[(COUNT % 64)] = (x);     \
    COUNT++;                \
    COUNT %= 64;                \
    if (COUNT % 64 == 0)            \
        sha1_step(ctxt);        \
-    }
+} while (0)
 
 static void sha1_step(struct sha1_ctxt *);
 
index fe312ef0f52aa8588bcb8358fd689b41db57038f..238432ea43b94df6d0d70a1629c854ebcf106035 100644 (file)
@@ -555,7 +555,9 @@ typedef struct {
    int4 buflen;
 } INFIX;
 
-#define RESIZEBUF(inf,addsize) while( ( inf->cur - inf->buf ) + addsize + 1 >= inf->buflen ) { \
+#define RESIZEBUF(inf,addsize) \
+while( ( inf->cur - inf->buf ) + addsize + 1 >= inf->buflen ) \
+{ \
    int4 len = inf->cur - inf->buf; \
    inf->buflen *= 2; \
    inf->buf = (char*) repalloc( (void*)inf->buf, inf->buflen ); \
index 39a64437c5fd32d5e40d9cff80ee9c8b9290588b..e1abd54d3bd214a77d3b30997416428f0bed8d24 100644 (file)
@@ -88,12 +88,16 @@ uniqueentry( WordEntry* a, int4 l, char *buf, int4 *outbuflen ) {
 #define WAITNEXTCHAR   3
 #define WAITENDCMPLX   4
 
-#define RESIZEPRSBUF if ( state->curpos - state->word == state->len ) { \
+#define RESIZEPRSBUF \
+do { \
+   if ( state->curpos - state->word == state->len ) \
+   { \
         int4 clen = state->curpos - state->word; \
         state->len *= 2; \
         state->word = (char*)repalloc( (void*)state->word, state->len ); \
         state->curpos = state->word + clen; \
-}
+    } \
+} while (0)
 
 int4
 gettoken_txtidx( TI_IN_STATE *state ) {
index 834dff0d70554081f831188a1fe592deadd78d78..2ea466317cccc600d6483f343a5985cd9cc9dddc 100644 (file)
 #else /* not HAVE_DLOPEN */
 
 #define pg_dlsym(handle, funcname)   ((PGFunction) dld_get_func((funcname)))
-#define pg_dlclose(handle)           ({ dld_unlink_by_file(handle, 1); free(handle); })
+#define pg_dlclose(handle) \
+do { \
+   dld_unlink_by_file(handle, 1); \
+   free(handle); \
+} while (0)
 
 #endif /* not HAVE_DLOPEN */
 
index d6873763b4b42941c5bdfd12a1c87786267dfa16..290771cfc052cdc0856318d4c4677dd97f4f276b 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: linux.h,v 1.12 2001/05/14 21:45:53 petere Exp $
+ * $Id: linux.h,v 1.13 2001/10/25 01:29:37 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 #ifndef HAVE_DLD_H
 #define pg_dlsym(handle, funcname)     (NULL)
-#define pg_dlclose(handle)            ({})
+#define pg_dlclose(handle)            {}
 #else
 #define pg_dlsym(handle, funcname)     ((PGFunction) dld_get_func((funcname)))
-#define pg_dlclose(handle)            ({ dld_unlink_by_file(handle, 1); free(handle); })
+#define pg_dlclose(handle) \
+do { \
+   dld_unlink_by_file(handle, 1); \
+   free(handle); \
+} while (0)
+
 #endif
 
 #else /* HAVE_DLOPEN */
index 8bf0ee68954102fce720e985f6e29af5eded944e..2d7f4ee92d07391743e26dfa3a05d188a417c7e8 100644 (file)
@@ -129,7 +129,12 @@ static int pg_isprint(int c);
 #ifdef REDEBUG
 #define SP(t, s, c)        print(m, t, s, c, stdout)
 #define AT(t, p1, p2, s1, s2)  at(m, t, p1, p2, s1, s2)
-#define NOTE(str)      { if (m->eflags®_TRACE) printf("=%s\n", (str)); }
+#define NOTE(str) \
+do { \
+   if (m->eflags®_TRACE) \
+       printf("=%s\n", (str)); \
+} while (0)
+
 #else
 #define SP(t, s, c)                /* nothing */
 #define AT(t, p1, p2, s1, s2)  /* nothing */
index cb52ad9afe472440bbd1570e17fbc1d70f19b6e4..b1733a9d40d3f96ee3381389b30ce07f9ad3d97b 100644 (file)
@@ -114,10 +114,19 @@ static int    nope = 0;           /* for use in asserts; shuts lint up */
 #define ASSIGN(d, s)   memcpy(d, s, m->g->nstates)
 #define EQ(a, b)       (memcmp(a, b, m->g->nstates) == 0)
 #define STATEVARS      int vn; char *space
-#define STATESETUP(m, nv)      { (m)->space = malloc((nv)*(m)->g->nstates); \
-                               if ((m)->space == NULL) return(REG_ESPACE); \
-                               (m)->vn = 0; }
-#define STATETEARDOWN(m)       { free((m)->space); }
+#define STATESETUP(m, nv) \
+do { \
+   (m)->space = malloc((nv)*(m)->g->nstates); \
+   if ((m)->space == NULL) \
+       return(REG_ESPACE); \
+   (m)->vn = 0; \
+} while (0)
+
+#define STATETEARDOWN(m) \
+do { \
+   free((m)->space); \
+} while (0)
+   
 #define SETUP(v)       ((v) = &m->space[m->vn++ * m->g->nstates])
 #define onestate       int
 #define INIT(o, n)     ((o) = (n))
index d92d969d40e7ee40534ced2bf9409947fea0a0dd..5c6cc6e1e4a244afbf37960c6f3e46fd22e13a65 100644 (file)
@@ -1,7 +1,7 @@
 /* ----------
  * pg_lzcompress.c -
  *
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.11 2001/03/22 06:16:17 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.12 2001/10/25 01:29:37 momjian Exp $
  *
  *     This is an implementation of LZ compression for PostgreSQL.
  *     It uses a simple history table and generates 2-3 byte tags
@@ -283,7 +283,8 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
  *     Adds a new entry to the history table.
  * ----------
  */
-#define pglz_hist_add(_hs,_he,_hn,_s,_e) {                                 \
+#define pglz_hist_add(_hs,_he,_hn,_s,_e) \
+do {                                   \
            int __hindex = pglz_hist_idx((_s),(_e));                        \
            if ((_he)[(_hn)].prev == NULL) {                                \
                (_hs)[__hindex] = (_he)[(_hn)].next;                        \
@@ -303,7 +304,7 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
            if (++(_hn) >= PGLZ_HISTORY_SIZE) {                             \
                (_hn) = 0;                                                  \
            }                                                               \
-       }
+} while (0)
 
 
 /* ----------
@@ -312,7 +313,8 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
  *     Outputs the last and allocates a new control byte if needed.
  * ----------
  */
-#define pglz_out_ctrl(__ctrlp,__ctrlb,__ctrl,__buf) {                      \
+#define pglz_out_ctrl(__ctrlp,__ctrlb,__ctrl,__buf) \
+do { \
    if ((__ctrl & 0xff) == 0)                                               \
    {                                                                       \
        *__ctrlp = __ctrlb;                                                 \
@@ -320,7 +322,7 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
        __ctrlb = 0;                                                        \
        __ctrl = 1;                                                         \
    }                                                                       \
-}
+} while (0)
 
 
 /* ----------
@@ -330,11 +332,12 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
  *     appropriate control bit.
  * ----------
  */
-#define pglz_out_literal(_ctrlp,_ctrlb,_ctrl,_buf,_byte) {                 \
+#define pglz_out_literal(_ctrlp,_ctrlb,_ctrl,_buf,_byte) \
+do { \
    pglz_out_ctrl(_ctrlp,_ctrlb,_ctrl,_buf);                                \
    *_buf++ = (unsigned char)(_byte);                                       \
    _ctrl <<= 1;                                                            \
-}
+} while (0)
 
 
 /* ----------
@@ -345,7 +348,8 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
  *     appropriate control bit.
  * ----------
  */
-#define pglz_out_tag(_ctrlp,_ctrlb,_ctrl,_buf,_len,_off) {                 \
+#define pglz_out_tag(_ctrlp,_ctrlb,_ctrl,_buf,_len,_off) \
+do { \
    pglz_out_ctrl(_ctrlp,_ctrlb,_ctrl,_buf);                                \
    _ctrlb |= _ctrl;                                                        \
    _ctrl <<= 1;                                                            \
@@ -360,7 +364,7 @@ static PGLZ_HistEntry hist_entries[PGLZ_HISTORY_SIZE];
        _buf[1] = (unsigned char)((_off) & 0xff);                           \
        _buf += 2;                                                          \
    }                                                                       \
-}
+} while (0)
 
 
 /* ----------
index 6210d030bf09da8e6531ce3e227475b364051c89..2afc079dfd83bf616bbce524cdedc73b837b5e7e 100644 (file)
@@ -817,7 +817,10 @@ do { \
  * Terminate the stmt_with_params string with NULL.
  *----------
  */
-#define    CVT_TERMINATE { new_statement[npos] = '\0'; }
+#define    CVT_TERMINATE \
+do { \
+   new_statement[npos] = '\0'; \
+} while (0)
 
 /*----------
  * Append a data.
@@ -1434,7 +1437,7 @@ copy_statement_with_parameters(StatementClass *stmt)
                /* error */
                stmt->errormsg = "Unrecognized C_parameter type in copy_statement_with_parameters";
                stmt->errornumber = STMT_NOT_IMPLEMENTED_ERROR;
-               CVT_TERMINATE   /* just in case */
+               CVT_TERMINATE;  /* just in case */
                SC_log_error(func, "", stmt);
                return SQL_ERROR;
        }
@@ -1684,7 +1687,7 @@ copy_statement_with_parameters(StatementClass *stmt)
    }                           /* end, for */
 
    /* make sure new_statement is always null-terminated */
-   CVT_TERMINATE
+   CVT_TERMINATE;
 
    if (conn->DriverToDataSource != NULL)
    {
index 21091de90f93dc95a308d3c1bf7fbb62bcc569bb..99ed5520550b1524afee1dd6b984e165f69310b4 100644 (file)
@@ -8,7 +8,11 @@
 #include  
 
 #define   MEM_ALLOC(size)  (malloc((size_t)(size)))
-#define   MEM_FREE(ptr)        {if(ptr) free(ptr);}
+#define   MEM_FREE(ptr)    \
+do { \
+   if(ptr) \
+       free(ptr); \
+} while (0)
 
 #define   STRCPY(t, s)     (strcpy((char*)(t), (char*)(s)))
 #define   STRNCPY(t,s,n)   (strncpy((char*)(t), (char*)(s), (size_t)(n)))
index 07f6fa2c614bcee85f2f8ea993709724c76d747f..8a12b59becf14fa8f622c8fd23ef4084a4ab9c84 100755 (executable)
@@ -14,6 +14,7 @@ do
                    was_define = "Y"
                  else
                    was_define = "N"
-               }' $FILE
+               }' "$FILE"
+   grep -on '^#define.*{' "$FILE" | grep -v 'do[   ]*{'
 done