From 63cf9b973dead6241ec1d007020db90fc78c0aa1 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Fri, 20 Jan 2023 01:41:17 +0100 Subject: [PATCH] AK: Remove `FileStream` --- AK/FileStream.h | 176 ------------------ Userland/Libraries/LibHTTP/Job.h | 1 - Userland/Libraries/LibProtocol/Request.h | 1 - .../Libraries/LibProtocol/RequestClient.cpp | 1 - Userland/Services/RequestServer/Request.h | 1 - Userland/Utilities/pro.cpp | 1 - 6 files changed, 181 deletions(-) delete mode 100644 AK/FileStream.h diff --git a/AK/FileStream.h b/AK/FileStream.h deleted file mode 100644 index 355d5097ca2..00000000000 --- a/AK/FileStream.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2020, the SerenityOS developers. - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#include -#ifndef KERNEL -# include -# include - -namespace AK { - -class InputFileStream : public InputStream { -public: - explicit InputFileStream(int fd) - : m_file(fdopen(fd, "r")) - , m_owned(true) - { - if (!m_file) - set_fatal_error(); - } - - explicit InputFileStream(FILE* fp) - : m_file(fp) - { - if (!m_file) - set_fatal_error(); - } - - ~InputFileStream() - { - if (m_file) { - fflush(m_file); - if (m_owned) - fclose(m_file); - } - } - - bool unreliable_eof() const override { return eof(); } - bool eof() const { return feof(m_file); } - - size_t read(Bytes bytes) override - { - if (has_any_error()) - return 0; - return fread(bytes.data(), sizeof(u8), bytes.size(), m_file); - } - - bool read_or_error(Bytes bytes) override - { - if (has_any_error()) - return false; - auto size = read(bytes); - if (size < bytes.size()) { - set_recoverable_error(); - return false; - } - return true; - } - bool discard_or_error(size_t count) override - { - if (fseek(m_file, count, SEEK_CUR) == 0) - return true; - - // TODO: Why not ferror(m_file)? - if (errno != ESPIPE) - return false; - - char buf[4]; - size_t i = 0; - while (i < count) { - auto size = min(count - i, 4ul); - if (read({ buf, size }) < size) { - // Can't reset here. - return false; - } - i += size; - } - - return true; - } - - bool seek(size_t offset, int whence = SEEK_SET) - { - return fseek(m_file, offset, whence) == 0; - } - - virtual bool handle_any_error() override - { - clearerr(m_file); - return Stream::handle_any_error(); - } - - void make_unbuffered() - { - setvbuf(m_file, nullptr, _IONBF, 0); - } - -private: - FILE* m_file { nullptr }; - bool m_owned { false }; -}; - -class OutputFileStream : public OutputStream { -public: - explicit OutputFileStream(int fd) - : m_file(fdopen(fd, "w")) - , m_owned(true) - { - if (!m_file) - set_fatal_error(); - } - - explicit OutputFileStream(FILE* fp) - : m_file(fp) - { - if (!m_file) - set_fatal_error(); - } - - ~OutputFileStream() - { - if (m_file) { - fflush(m_file); - if (m_owned) - fclose(m_file); - } - } - - size_t write(ReadonlyBytes bytes) override - { - auto nwritten = fwrite(bytes.data(), sizeof(u8), bytes.size(), m_file); - m_bytes_written += nwritten; - return nwritten; - } - - bool write_or_error(ReadonlyBytes bytes) override - { - auto nwritten = write(bytes); - if (nwritten < bytes.size()) { - set_recoverable_error(); - return false; - } - return true; - } - - size_t size() const { return m_bytes_written; } - - virtual bool handle_any_error() override - { - clearerr(m_file); - return Stream::handle_any_error(); - } - - void make_unbuffered() - { - setvbuf(m_file, nullptr, _IONBF, 0); - } - -private: - FILE* m_file { nullptr }; - size_t m_bytes_written { 0 }; - bool m_owned { false }; -}; - -} - -# if USING_AK_GLOBALLY -using AK::InputFileStream; -using AK::OutputFileStream; -# endif - -#endif diff --git a/Userland/Libraries/LibHTTP/Job.h b/Userland/Libraries/LibHTTP/Job.h index 66439efef58..853a728a799 100644 --- a/Userland/Libraries/LibHTTP/Job.h +++ b/Userland/Libraries/LibHTTP/Job.h @@ -6,7 +6,6 @@ #pragma once -#include #include #include #include diff --git a/Userland/Libraries/LibProtocol/Request.h b/Userland/Libraries/LibProtocol/Request.h index c8029ee3923..d3cd12953cf 100644 --- a/Userland/Libraries/LibProtocol/Request.h +++ b/Userland/Libraries/LibProtocol/Request.h @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include diff --git a/Userland/Libraries/LibProtocol/RequestClient.cpp b/Userland/Libraries/LibProtocol/RequestClient.cpp index 933f979302b..cdc2e6ddc41 100644 --- a/Userland/Libraries/LibProtocol/RequestClient.cpp +++ b/Userland/Libraries/LibProtocol/RequestClient.cpp @@ -4,7 +4,6 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include #include #include diff --git a/Userland/Services/RequestServer/Request.h b/Userland/Services/RequestServer/Request.h index 1e6556810f0..6b4a9a107a0 100644 --- a/Userland/Services/RequestServer/Request.h +++ b/Userland/Services/RequestServer/Request.h @@ -6,7 +6,6 @@ #pragma once -#include #include #include #include diff --git a/Userland/Utilities/pro.cpp b/Userland/Utilities/pro.cpp index 80195702043..0756191ccc7 100644 --- a/Userland/Utilities/pro.cpp +++ b/Userland/Utilities/pro.cpp @@ -6,7 +6,6 @@ */ #include -#include #include #include #include