mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
This creates actual commits in the thirdparty repo, which makes rebasing them onto new versions much easier.
57 lines
2.0 KiB
Diff
57 lines
2.0 KiB
Diff
From e92e91d28f2475b38f32f92d24b65eec195254a6 Mon Sep 17 00:00:00 2001
|
|
From: Tyler Veness <calcmogul@gmail.com>
|
|
Date: Wed, 18 May 2022 10:21:49 -0700
|
|
Subject: [PATCH] Don't throw on write failure
|
|
|
|
---
|
|
include/fmt/format-inl.h | 3 +--
|
|
include/fmt/xchar.h | 3 +--
|
|
src/os.cc | 3 +--
|
|
3 files changed, 3 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h
|
|
index 2c51c50a..cc89abdd 100644
|
|
--- a/include/fmt/format-inl.h
|
|
+++ b/include/fmt/format-inl.h
|
|
@@ -92,8 +92,7 @@ FMT_FUNC void report_error(format_func func, int error_code,
|
|
// A wrapper around fwrite that throws on error.
|
|
inline void fwrite_fully(const void* ptr, size_t size, size_t count,
|
|
FILE* stream) {
|
|
- size_t written = std::fwrite(ptr, size, count, stream);
|
|
- if (written < count) FMT_THROW(system_error(errno, "cannot write to file"));
|
|
+ std::fwrite(ptr, size, count, stream);
|
|
}
|
|
|
|
#ifndef FMT_STATIC_THOUSANDS_SEPARATOR
|
|
diff --git a/include/fmt/xchar.h b/include/fmt/xchar.h
|
|
index 55825077..9acb893f 100644
|
|
--- a/include/fmt/xchar.h
|
|
+++ b/include/fmt/xchar.h
|
|
@@ -207,8 +207,7 @@ inline void vprint(std::FILE* f, wstring_view fmt, wformat_args args) {
|
|
wmemory_buffer buffer;
|
|
detail::vformat_to(buffer, fmt, args);
|
|
buffer.push_back(L'\0');
|
|
- if (std::fputws(buffer.data(), f) == -1)
|
|
- FMT_THROW(system_error(errno, FMT_STRING("cannot write to file")));
|
|
+ std::fputws(buffer.data(), f);
|
|
}
|
|
|
|
inline void vprint(wstring_view fmt, wformat_args args) {
|
|
diff --git a/src/os.cc b/src/os.cc
|
|
index 04b4dc50..4eb3e1fd 100644
|
|
--- a/src/os.cc
|
|
+++ b/src/os.cc
|
|
@@ -277,8 +277,7 @@ std::size_t file::read(void* buffer, std::size_t count) {
|
|
std::size_t file::write(const void* buffer, std::size_t count) {
|
|
rwresult result = 0;
|
|
FMT_RETRY(result, FMT_POSIX_CALL(write(fd_, buffer, convert_rwcount(count))));
|
|
- if (result < 0) FMT_THROW(system_error(errno, "cannot write to file"));
|
|
- return detail::to_unsigned(result);
|
|
+ return count;
|
|
}
|
|
|
|
file file::dup(int fd) {
|
|
--
|
|
2.36.1
|
|
|