From c896554595c7615c94b01fc13cc6369272538043 Mon Sep 17 00:00:00 2001 From: "Chao Li (Evan)" 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 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)