Tom Sepez ad0e47cfe3 Add span-based I/O wrappers as core/fxcrt/span_io.h
Introduce safe, container-templated span-based I/O wrappers. Helps
centralize some UNSAFE_BUFFERS() usage.

-- Add spanread/spanwrite overloads for FILE*.
-- Add spanread/spanwrite overloads for POSIX file descriptors.
-- Add spanread/spanwrite overloads for Windows HANDLE.
-- Change FileAccessIface::Write() signature to return bool.
-- Update image_diff, write.cc, file_util, and cfx_folderfontinfo.
-- Update CFX_FileAccess_Posix to use FD wrappers.
-- Update CFX_FileAccess_Windows to use HANDLE wrappers.
-- Update TemporaryFileTest to use safe spanwrite wrapper.
-- Add unit tests for all overloads in span_util_unittest.cpp.

Note that CFX_FileAccess_Posix changes may have fixed a latent error
underflow bug in the process.

Change-Id: Ic2c4088d364be0a2f38c5d30854a61fdacc6c69d
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/149030
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
2026-06-05 17:00:09 -07:00
..