v2-0001-buffile-use-ssize_t-for-bytestowrite-in-BufFileDu.patch
application/octet-stream
Filename: v2-0001-buffile-use-ssize_t-for-bytestowrite-in-BufFileDu.patch
Type: application/octet-stream
Part: 0
From c896554595c7615c94b01fc13cc6369272538043 Mon Sep 17 00:00:00 2001
From: "Chao Li (Evan)" <lic@highgo.com>
Date: Tue, 23 Dec 2025 10:44:27 +0800
Subject: [PATCH v2] buffile: use ssize_t for bytestowrite in BufFileDumpBuffer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Avoid mixed-width arithmetic when computing the number of bytes to write
in BufFileDumpBuffer() by using ssize_t for bytestowrite.
This removes unnecessary casts, makes the comparison clearer, and keeps
file-offset arithmetic using PostgreSQL’s portable offset type.
Author: Chao Li <lic@highgo.com>
Discussion: https://postgr.es/m/aUStrqoOCDRFAq1M@paquier.xyz
---
src/backend/storage/file/buffile.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/storage/file/buffile.c b/src/backend/storage/file/buffile.c
index 85b316d879d..4e1f3667307 100644
--- a/src/backend/storage/file/buffile.c
+++ b/src/backend/storage/file/buffile.c
@@ -494,7 +494,7 @@ static void
BufFileDumpBuffer(BufFile *file)
{
int wpos = 0;
- int bytestowrite;
+ ssize_t bytestowrite;
File thisfile;
/*
@@ -503,7 +503,7 @@ BufFileDumpBuffer(BufFile *file)
*/
while (wpos < file->nbytes)
{
- pgoff_t availbytes;
+ ssize_t availbytes;
instr_time io_start;
instr_time io_time;
@@ -524,8 +524,8 @@ BufFileDumpBuffer(BufFile *file)
bytestowrite = file->nbytes - wpos;
availbytes = MAX_PHYSICAL_FILESIZE - file->curOffset;
- if ((pgoff_t) bytestowrite > availbytes)
- bytestowrite = (int) availbytes;
+ if (bytestowrite > availbytes)
+ bytestowrite = availbytes;
thisfile = file->files[file->curFile];
--
2.39.5 (Apple Git-154)