Introduce minimal C99 usage to verify compiler support.
authorAndres Freund <andres@anarazel.de>
Fri, 24 Aug 2018 01:36:07 +0000 (18:36 -0700)
committerAndres Freund <andres@anarazel.de>
Fri, 24 Aug 2018 01:36:07 +0000 (18:36 -0700)
This just converts a few for loops in postgres.c to declare variables
in the loop initializer, and uses designated initializers in smgr.c's
definition of smgr callbacks.

Author: Andres Freund
Discussion: https://postgr.es/m/97d4b165-192d-3605-749c-f614a0c4e783@2ndquadrant.com

src/backend/storage/smgr/smgr.c
src/backend/tcop/postgres.c

index 08f06bade2578227a1b75de3abfd13ddbf1fa321..189342ef86a8dc2c1db488bf2b15f9e759be0755 100644 (file)
@@ -67,9 +67,24 @@ typedef struct f_smgr
 
 static const f_smgr smgrsw[] = {
        /* magnetic disk */
-       {mdinit, NULL, mdclose, mdcreate, mdexists, mdunlink, mdextend,
-               mdprefetch, mdread, mdwrite, mdwriteback, mdnblocks, mdtruncate,
-               mdimmedsync, mdpreckpt, mdsync, mdpostckpt
+       {
+               .smgr_init = mdinit,
+               .smgr_shutdown = NULL,
+               .smgr_close = mdclose,
+               .smgr_create = mdcreate,
+               .smgr_exists = mdexists,
+               .smgr_unlink = mdunlink,
+               .smgr_extend = mdextend,
+               .smgr_prefetch = mdprefetch,
+               .smgr_read = mdread,
+               .smgr_write = mdwrite,
+               .smgr_writeback = mdwriteback,
+               .smgr_nblocks = mdnblocks,
+               .smgr_truncate = mdtruncate,
+               .smgr_immedsync = mdimmedsync,
+               .smgr_pre_ckpt = mdpreckpt,
+               .smgr_sync = mdsync,
+               .smgr_post_ckpt = mdpostckpt
        }
 };
 
index 07b956553a7c02942423dc146a824de61e98f84b..7a9ada2c719cc38f5d4dfb234090a0b118243dc7 100644 (file)
@@ -1310,7 +1310,6 @@ exec_parse_message(const char *query_string,      /* string to execute */
        {
                Query      *query;
                bool            snapshot_set = false;
-               int                     i;
 
                raw_parse_tree = linitial_node(RawStmt, parsetree_list);
 
@@ -1366,7 +1365,7 @@ exec_parse_message(const char *query_string,      /* string to execute */
                /*
                 * Check all parameter types got determined.
                 */
-               for (i = 0; i < numParams; i++)
+               for (int i = 0; i < numParams; i++)
                {
                        Oid                     ptype = paramTypes[i];
 
@@ -1555,10 +1554,8 @@ exec_bind_message(StringInfo input_message)
        numPFormats = pq_getmsgint(input_message, 2);
        if (numPFormats > 0)
        {
-               int                     i;
-
                pformats = (int16 *) palloc(numPFormats * sizeof(int16));
-               for (i = 0; i < numPFormats; i++)
+               for (int i = 0; i < numPFormats; i++)
                        pformats[i] = pq_getmsgint(input_message, 2);
        }
 
@@ -1641,8 +1638,6 @@ exec_bind_message(StringInfo input_message)
         */
        if (numParams > 0)
        {
-               int                     paramno;
-
                params = (ParamListInfo) palloc(offsetof(ParamListInfoData, params) +
                                                                                numParams * sizeof(ParamExternData));
                /* we have static list of params, so no hooks needed */
@@ -1654,7 +1649,7 @@ exec_bind_message(StringInfo input_message)
                params->parserSetupArg = NULL;
                params->numParams = numParams;
 
-               for (paramno = 0; paramno < numParams; paramno++)
+               for (int paramno = 0; paramno < numParams; paramno++)
                {
                        Oid                     ptype = psrc->param_types[paramno];
                        int32           plength;
@@ -1782,10 +1777,8 @@ exec_bind_message(StringInfo input_message)
        numRFormats = pq_getmsgint(input_message, 2);
        if (numRFormats > 0)
        {
-               int                     i;
-
                rformats = (int16 *) palloc(numRFormats * sizeof(int16));
-               for (i = 0; i < numRFormats; i++)
+               for (int i = 0; i < numRFormats; i++)
                        rformats[i] = pq_getmsgint(input_message, 2);
        }
 
@@ -2212,7 +2205,6 @@ errdetail_params(ParamListInfo params)
        {
                StringInfoData param_str;
                MemoryContext oldcontext;
-               int                     paramno;
 
                /* This code doesn't support dynamic param lists */
                Assert(params->paramFetch == NULL);
@@ -2222,7 +2214,7 @@ errdetail_params(ParamListInfo params)
 
                initStringInfo(&param_str);
 
-               for (paramno = 0; paramno < params->numParams; paramno++)
+               for (int paramno = 0; paramno < params->numParams; paramno++)
                {
                        ParamExternData *prm = &params->params[paramno];
                        Oid                     typoutput;
@@ -2325,7 +2317,6 @@ static void
 exec_describe_statement_message(const char *stmt_name)
 {
        CachedPlanSource *psrc;
-       int                     i;
 
        /*
         * Start up a transaction command. (Note that this will normally change
@@ -2384,7 +2375,7 @@ exec_describe_statement_message(const char *stmt_name)
                                                                                                                 * message type */
        pq_sendint16(&row_description_buf, psrc->num_params);
 
-       for (i = 0; i < psrc->num_params; i++)
+       for (int i = 0; i < psrc->num_params; i++)
        {
                Oid                     ptype = psrc->param_types[i];
 
@@ -4179,10 +4170,8 @@ PostgresMain(int argc, char *argv[],
                                        numParams = pq_getmsgint(&input_message, 2);
                                        if (numParams > 0)
                                        {
-                                               int                     i;
-
                                                paramTypes = (Oid *) palloc(numParams * sizeof(Oid));
-                                               for (i = 0; i < numParams; i++)
+                                               for (int i = 0; i < numParams; i++)
                                                        paramTypes[i] = pq_getmsgint(&input_message, 4);
                                        }
                                        pq_getmsgend(&input_message);