--- a/libsrc/posix-io.adb
+++ b/libsrc/posix-io.adb
@@ -477,7 +477,7 @@
loop
Result := write
- (int (File), Item'Address + Written, size_t (To_Write - Written));
+ (int (File), Item'Address + Written, size_t (To_Write));
-- Exit if write fails or zero-length write succeeds.
exit when Result <= 0;
Written := Written + Storage_Offset (Result);