Suppress compiler warning about unportable pointer value.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 5 May 2017 16:46:04 +0000 (12:46 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 5 May 2017 16:46:04 +0000 (12:46 -0400)
Setting a pointer value to "0xdeadbeef" draws a warning from some
compilers, and for good reason.  Be less cute and just set it to NULL.

In passing make some other cosmetic adjustments nearby.

Discussion: https://postgr.es/m/CAJrrPGdW3EkU-CRobvVKYf3fJuBdgWyuGeAbNzAQ4yBh+bfb_Q@mail.gmail.com

src/backend/replication/logical/proto.c

index 0db5bdf29aa0d5d6d585b4bbe21abc92024e46ed..adc62a0f3bbedc857db6e81317c45712a14fd378 100644 (file)
@@ -95,7 +95,7 @@ logicalrep_read_commit(StringInfo in, LogicalRepCommitData *commit_data)
    uint8   flags = pq_getmsgbyte(in);
 
    if (flags != 0)
-       elog(ERROR, "unknown flags %u in commit message", flags);
+       elog(ERROR, "unrecognized flags %u in commit message", flags);
 
    /* read fields */
    commit_data->commit_lsn = pq_getmsgint64(in);
@@ -468,7 +468,6 @@ logicalrep_read_tuple(StringInfo in, LogicalRepTupleData *tuple)
    for (i = 0; i < natts; i++)
    {
        char        kind;
-       int         len;
 
        kind = pq_getmsgbyte(in);
 
@@ -479,10 +478,13 @@ logicalrep_read_tuple(StringInfo in, LogicalRepTupleData *tuple)
                tuple->changed[i] = true;
                break;
            case 'u': /* unchanged column */
-               tuple->values[i] = (char *) 0xdeadbeef; /* make bad usage more obvious */
+               /* we don't receive the value of an unchanged column */
+               tuple->values[i] = NULL;
                break;
            case 't': /* text formatted value */
                {
+                   int         len;
+
                    tuple->changed[i] = true;
 
                    len = pq_getmsgint(in, 4); /* read length */
@@ -494,7 +496,7 @@ logicalrep_read_tuple(StringInfo in, LogicalRepTupleData *tuple)
                }
                break;
            default:
-               elog(ERROR, "unknown data representation type '%c'", kind);
+               elog(ERROR, "unrecognized data representation type '%c'", kind);
        }
    }
 }