- status = read (handle, start->buffer, (size_t) buffer_size);
- if (status < 0)
- FATAL_ERROR ((0, errno,
- _("Read error at byte %ld reading %d bytes in file %s"),
- stat_data.st_size - bytes_left, buffer_size, path));
- bytes_left -= status;
+ status = safe_read (handle, start->buffer, buffer_size);
+ if (status < 0)
+ FATAL_ERROR ((0, errno,
+ _("Read error at byte %s reading %lu bytes in file %s"),
+ STRINGIFY_BIGINT (stat_data.st_size - bytes_left,
+ buf),
+ (unsigned long) buffer_size, path));
+ if (status == 0)
+ FATAL_ERROR ((0, 0, _("%s: File shrunk by %s bytes, (yark!)"),
+ path, STRINGIFY_BIGINT (bytes_left, buf)));