summaryrefslogtreecommitdiff
path: root/src/backend/libpq/pqcomm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/libpq/pqcomm.c')
-rw-r--r--src/backend/libpq/pqcomm.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index 61ea3722ae2..e5171467de1 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -144,7 +144,7 @@ static int socket_flush_if_writable(void);
static bool socket_is_send_pending(void);
static int socket_putmessage(char msgtype, const char *s, size_t len);
static void socket_putmessage_noblock(char msgtype, const char *s, size_t len);
-static inline int internal_putbytes(const char *s, size_t len);
+static inline int internal_putbytes(const void *b, size_t len);
static inline int internal_flush(void);
static pg_noinline int internal_flush_buffer(const char *buf, size_t *start,
size_t *end);
@@ -1060,8 +1060,9 @@ pq_getbyte_if_available(unsigned char *c)
* --------------------------------
*/
int
-pq_getbytes(char *s, size_t len)
+pq_getbytes(void *b, size_t len)
{
+ char *s = b;
size_t amount;
Assert(PqCommReadingMsg);
@@ -1209,7 +1210,7 @@ pq_getmessage(StringInfo s, int maxlen)
resetStringInfo(s);
/* Read message length word */
- if (pq_getbytes((char *) &len, 4) == EOF)
+ if (pq_getbytes(&len, 4) == EOF)
{
ereport(COMMERROR,
(errcode(ERRCODE_PROTOCOL_VIOLATION),
@@ -1274,8 +1275,10 @@ pq_getmessage(StringInfo s, int maxlen)
static inline int
-internal_putbytes(const char *s, size_t len)
+internal_putbytes(const void *b, size_t len)
{
+ const char *s = b;
+
while (len > 0)
{
/* If buffer is full, then flush it out */
@@ -1499,7 +1502,7 @@ socket_putmessage(char msgtype, const char *s, size_t len)
goto fail;
n32 = pg_hton32((uint32) (len + 4));
- if (internal_putbytes((char *) &n32, 4))
+ if (internal_putbytes(&n32, 4))
goto fail;
if (internal_putbytes(s, len))