Remove useless casts to (char *)
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-02-05T21:25:35Z
Lists: pgsql-hackers
Attachments
- 0001-Remove-unnecessary-char-casts-string.patch (text/plain) patch 0001
- 0002-Remove-unnecessary-char-casts-mem.patch (text/plain) patch 0002
- 0003-Remove-unnecessary-char-casts-checksum.patch (text/plain) patch 0003
- 0004-Remove-various-unnecessary-char-casts.patch (text/plain) patch 0004
- 0005-backend-launchers-void-arguments-for-binary-data.patch (text/plain) patch 0005
- 0006-backend-libpq-void-argument-for-binary-data.patch (text/plain) patch 0006
- 0007-jsonb-internal-API-void-argument-for-binary-data.patch (text/plain) patch 0007
- 0008-SnapBuildRestoreContents-void-argument-for-binary-da.patch (text/plain) patch 0008
- 0009-XLogRegisterData-XLogRegisterBufData-void-argument-f.patch (text/plain) patch 0009
- 0010-Remove-unnecessary-char-casts-xlog.patch (text/plain) patch 0010
In the spirit of the recent patch set "Remove useless casts to (void *)" [0], here is patch set that removes a bunch of apparently useless casts to (char *). There are two larger themes: 1) Various casts around string/memory functions such as strcpy() or memcpy() that pretty much don't make any sense at all (at least post-1989 I guess). 2) Using void * instead of char * for function arguments that deal with binary data. The largest of these is XLogRegisterData() and XLogRegisterBufData(), which were also mentioned in [0]. (similar past patches: 2d4f1ba6cfc 1f605b82ba6 3b12e68a5c4 b9f0e54bc95) The remaining (char *) casts are mostly related to signed/unsigned conversion, controlling pointer arithmetic, and related to palloc/malloc, (and probably some I missed or didn't want to touch) so those are all ok to keep. [0]: https://www.postgresql.org/message-id/flat/461ea37c-8b58-43b4-9736-52884e862820%40eisentraut.org
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