From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 5 May 2017 16:46:04 +0000 (-0400)
Subject: Suppress compiler warning about unportable pointer value.
X-Git-Tag: REL_10_BETA1~94
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b3a47cdfd692079e36d2055d7d93759e083263ca;p=postgresql

Suppress compiler warning about unportable pointer value.

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
---

diff --git a/src/backend/replication/logical/proto.c b/src/backend/replication/logical/proto.c
index 0db5bdf29a..adc62a0f3b 100644
--- a/src/backend/replication/logical/proto.c
+++ b/src/backend/replication/logical/proto.c
@@ -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);
 		}
 	}
 }