Re: Remove useless casts to (char *)
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-02-09T12:26:13Z
Lists: pgsql-hackers
Attachments
- v2-0001-Remove-unnecessary-char-casts-string.patch (text/plain) patch v2-0001
- v2-0002-Remove-unnecessary-char-casts-mem.patch (text/plain) patch v2-0002
- v2-0003-Remove-unnecessary-char-casts-checksum.patch (text/plain) patch v2-0003
- v2-0004-Remove-various-unnecessary-char-casts.patch (text/plain) patch v2-0004
- v2-0005-backend-launchers-void-arguments-for-binary-data.patch (text/plain) patch v2-0005
- v2-0006-backend-libpq-void-argument-for-binary-data.patch (text/plain) patch v2-0006
- v2-0007-jsonb-internal-API-void-argument-for-binary-data.patch (text/plain) patch v2-0007
- v2-0008-SnapBuildRestoreContents-void-argument-for-binary.patch (text/plain) patch v2-0008
- v2-0009-XLogRegisterData-XLogRegisterBufData-void-argumen.patch (text/plain) patch v2-0009
- v2-0010-Remove-unnecessary-char-casts-xlog.patch (text/plain) patch v2-0010
On 06.02.25 12:49, Dagfinn Ilmari Mannsåker wrote:
> I have only skimmed the patches, but one hunk jumped out at me:
>
> Peter Eisentraut <peter@eisentraut.org> writes:
>
>> diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
>> index 1bf27d93cfa..937a2b02a4f 100644
>> --- a/src/backend/libpq/pqcomm.c
>> +++ b/src/backend/libpq/pqcomm.c
>> @@ -1368,7 +1368,7 @@ internal_flush_buffer(const char *buf, size_t *start, size_t *end)
>> {
>> int r;
>>
>> - r = secure_write(MyProcPort, (char *) bufptr, bufend - bufptr);
>> + r = secure_write(MyProcPort, unconstify(char *, bufptr), bufend - bufptr);
>>
>> if (r <= 0)
>> {
>
> Insted of unconstify here, could we not make secure_write() (and
> be_tls_write()) take the buffer pointer as const void *, like the
> attached?
Yeah, that makes sense. I've committed that. Here is a new patch set
rebased over that.
Commits
-
backend libpq void * argument for binary data
- 454c182f8542 18.0 landed
-
SnapBuildRestoreContents() void * argument for binary data
- ebdccead1647 18.0 landed
-
jsonb internal API void * argument for binary data
- f98765f0ce90 18.0 landed
-
backend launchers void * arguments for binary data
- 7202d72787d3 18.0 landed
-
Remove various unnecessary (char *) casts
- 3e4d86861540 18.0 landed
-
Remove unnecessary (char *) casts [xlog]
- ed5e5f071033 18.0 landed
-
XLogRegisterData, XLogRegisterBufData void * argument for binary data
- cdaeff9b39d9 18.0 landed
-
Remove unnecessary (char *) casts [checksum]
- 1b5841d46150 18.0 landed
-
Remove unnecessary (char *) casts [mem]
- 827b4060a8e3 18.0 landed
-
Remove unnecessary (char *) casts [string]
- 506183bce73a 18.0 landed
-
Make TLS write functions' buffer arguments pointers const
- a9258629edab 18.0 landed