Use 'void *' for arbitrary buffers, 'uint8 *' for byte arrays

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: b28c59a6cd089902e66a91e0d0974da34d1c922b
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2025-05-08T19:01:25Z
Releases: 18.0
Use 'void *' for arbitrary buffers, 'uint8 *' for byte arrays

A 'void *' argument suggests that the caller might pass an arbitrary
struct, which is appropriate for functions like libc's read/write, or
pq_sendbytes(). 'uint8 *' is more appropriate for byte arrays that
have no structure, like the cancellation keys or SCRAM tokens. Some
places used 'char *', but 'uint8 *' is better because 'char *' is
commonly used for null-terminated strings. Change code around SCRAM,
MD5 authentication, and cancellation key handling to follow these
conventions.

Discussion: https://www.postgresql.org/message-id/61be9e31-7b7d-49d5-bc11-721800d89d64@eisentraut.org

Files

Discussion