util/Error: remove obsolete class
This commit is contained in:
		| @@ -399,7 +399,6 @@ libutil_a_SOURCES = \ | ||||
| 	src/util/AllocatedArray.hxx \ | ||||
| 	src/util/VarSize.hxx \ | ||||
| 	src/util/ScopeExit.hxx \ | ||||
| 	src/util/Error.cxx src/util/Error.hxx \ | ||||
| 	src/util/Domain.hxx \ | ||||
| 	src/util/ReusableArray.hxx \ | ||||
| 	src/util/ASCII.hxx \ | ||||
|   | ||||
| @@ -37,7 +37,6 @@ class Storage; | ||||
| class UpdateService; | ||||
| #endif | ||||
|  | ||||
| class Error; | ||||
| class ClientList; | ||||
| struct Partition; | ||||
| class StateFile; | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
|  | ||||
| #include "config.h" | ||||
| #include "LogV.hxx" | ||||
| #include "util/Error.hxx" | ||||
| #include "util/Domain.hxx" | ||||
|  | ||||
| #include <exception> | ||||
|  | ||||
| @@ -27,6 +27,8 @@ | ||||
| #include <string.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| static constexpr Domain exception_domain("exception"); | ||||
|  | ||||
| void | ||||
| LogFormatV(const Domain &domain, LogLevel level, const char *fmt, va_list ap) | ||||
| { | ||||
|   | ||||
| @@ -27,7 +27,6 @@ | ||||
| class PlaylistVector; | ||||
| class BufferedOutputStream; | ||||
| class TextFile; | ||||
| class Error; | ||||
|  | ||||
| void | ||||
| playlist_vector_save(BufferedOutputStream &os, const PlaylistVector &pv); | ||||
|   | ||||
| @@ -26,7 +26,6 @@ | ||||
| class DetachedSong; | ||||
| class SongLoader; | ||||
| class PlaylistVector; | ||||
| class Error; | ||||
| class AllocatedPath; | ||||
|  | ||||
| typedef std::vector<std::string> PlaylistFileContents; | ||||
|   | ||||
| @@ -30,7 +30,6 @@ class Database; | ||||
| class Storage; | ||||
| class DetachedSong; | ||||
| class Path; | ||||
| class Error; | ||||
| struct LocatedUri; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -26,7 +26,6 @@ struct Song; | ||||
| class DetachedSong; | ||||
| class BufferedOutputStream; | ||||
| class TextFile; | ||||
| class Error; | ||||
|  | ||||
| void | ||||
| song_save(BufferedOutputStream &os, const Song &song); | ||||
|   | ||||
| @@ -25,7 +25,6 @@ | ||||
|  | ||||
| #include <string> | ||||
|  | ||||
| class Error; | ||||
| class AllocatedPath; | ||||
|  | ||||
| struct ConfigParam { | ||||
|   | ||||
| @@ -23,7 +23,6 @@ | ||||
| struct Directory; | ||||
| class BufferedOutputStream; | ||||
| class TextFile; | ||||
| class Error; | ||||
|  | ||||
| void | ||||
| db_save_internal(BufferedOutputStream &os, const Directory &root); | ||||
|   | ||||
| @@ -23,7 +23,6 @@ | ||||
| struct Directory; | ||||
| class TextFile; | ||||
| class BufferedOutputStream; | ||||
| class Error; | ||||
|  | ||||
| void | ||||
| directory_save(BufferedOutputStream &os, const Directory &directory); | ||||
|   | ||||
| @@ -26,8 +26,6 @@ | ||||
| #include <string> | ||||
| #include <vector> | ||||
|  | ||||
| class Error; | ||||
|  | ||||
| /** | ||||
|  * Image of a MediaServer Directory Service container (directory), | ||||
|  * possibly containing items and subordinate containers. | ||||
|   | ||||
| @@ -56,8 +56,6 @@ public: | ||||
| 		 audio_format(_audio_format), options(_options) {} | ||||
| 	~TwolameEncoder() override; | ||||
|  | ||||
| 	bool Configure(const ConfigBlock &block, Error &error); | ||||
|  | ||||
| 	/* virtual methods from class Encoder */ | ||||
|  | ||||
| 	void End() override { | ||||
|   | ||||
| @@ -30,7 +30,6 @@ | ||||
| #include <stddef.h> | ||||
|  | ||||
| struct AudioFormat; | ||||
| class Error; | ||||
| template<typename T> struct ConstBuffer; | ||||
|  | ||||
| class Filter { | ||||
|   | ||||
| @@ -21,7 +21,6 @@ | ||||
| #define MPD_CONVERT_FILTER_PLUGIN_HXX | ||||
|  | ||||
| class Filter; | ||||
| class Error; | ||||
| struct AudioFormat; | ||||
|  | ||||
| Filter * | ||||
|   | ||||
| @@ -28,8 +28,6 @@ | ||||
| #define HAVE_FS_CHARSET | ||||
| #endif | ||||
|  | ||||
| class Error; | ||||
|  | ||||
| /** | ||||
|  * Gets file system character set name. | ||||
|  */ | ||||
|   | ||||
| @@ -22,8 +22,6 @@ | ||||
|  | ||||
| #include "check.h" | ||||
|  | ||||
| class Error; | ||||
|  | ||||
| /** | ||||
|  * Performs global one-time initialization of this class. | ||||
|  * | ||||
|   | ||||
| @@ -20,8 +20,6 @@ | ||||
| #ifndef MPD_INPUT_INIT_HXX | ||||
| #define MPD_INPUT_INIT_HXX | ||||
|  | ||||
| class Error; | ||||
|  | ||||
| /** | ||||
|  * Initializes this library and all #InputStream implementations. | ||||
|  */ | ||||
|   | ||||
| @@ -31,7 +31,6 @@ | ||||
| #include <assert.h> | ||||
|  | ||||
| class Cond; | ||||
| class Error; | ||||
| struct Tag; | ||||
|  | ||||
| class InputStream { | ||||
|   | ||||
| @@ -28,7 +28,6 @@ | ||||
| #include <stdexcept> | ||||
|  | ||||
| class InputStream; | ||||
| class Error; | ||||
|  | ||||
| class ExpatError final : public std::runtime_error { | ||||
| public: | ||||
|   | ||||
| @@ -23,7 +23,6 @@ | ||||
| #include "check.h" | ||||
| #include "Compiler.h" | ||||
|  | ||||
| class Error; | ||||
| template<typename T> class AllocatedString; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -24,8 +24,6 @@ | ||||
|  | ||||
| #include <exception> | ||||
|  | ||||
| class Error; | ||||
|  | ||||
| class NfsLease { | ||||
| public: | ||||
| 	/** | ||||
|   | ||||
| @@ -39,7 +39,6 @@ | ||||
| #include <stdlib.h> | ||||
|  | ||||
| struct sockaddr; | ||||
| class Error; | ||||
|  | ||||
| class AllocatedSocketAddress { | ||||
| public: | ||||
|   | ||||
| @@ -31,7 +31,6 @@ | ||||
|  | ||||
| #include <stdint.h> | ||||
|  | ||||
| class Error; | ||||
| class PlayerListener; | ||||
| class MultipleOutputs; | ||||
| class DetachedSong; | ||||
|   | ||||
| @@ -24,7 +24,6 @@ | ||||
| #ifndef MPD_PLAYLIST_QUEUE_HXX | ||||
| #define MPD_PLAYLIST_QUEUE_HXX | ||||
|  | ||||
| class Error; | ||||
| class SongLoader; | ||||
| class SongEnumerator; | ||||
| struct playlist; | ||||
|   | ||||
| @@ -26,7 +26,6 @@ enum TagType : uint8_t; | ||||
| struct PlayerControl; | ||||
| class DetachedSong; | ||||
| class Database; | ||||
| class Error; | ||||
| class SongLoader; | ||||
| class SongTime; | ||||
| class SignedSongTime; | ||||
|   | ||||
| @@ -47,7 +47,6 @@ | ||||
|  | ||||
| #include <string> | ||||
|  | ||||
| class Error; | ||||
| class Path; | ||||
| struct Sticker; | ||||
|  | ||||
|   | ||||
| @@ -1,204 +0,0 @@ | ||||
| /* | ||||
|  * Copyright (C) 2013 Max Kellermann <max@duempel.org> | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without | ||||
|  * modification, are permitted provided that the following conditions | ||||
|  * are met: | ||||
|  * | ||||
|  * - Redistributions of source code must retain the above copyright | ||||
|  * notice, this list of conditions and the following disclaimer. | ||||
|  * | ||||
|  * - Redistributions in binary form must reproduce the above copyright | ||||
|  * notice, this list of conditions and the following disclaimer in the | ||||
|  * documentation and/or other materials provided with the | ||||
|  * distribution. | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||
|  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||
|  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | ||||
|  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE | ||||
|  * FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||||
|  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
|  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||||
|  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||||
|  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
|  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||||
|  * OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
|  */ | ||||
|  | ||||
| #include "config.h" | ||||
| #include "Error.hxx" | ||||
| #include "Domain.hxx" | ||||
|  | ||||
| #include <system_error> | ||||
|  | ||||
| #ifdef WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
|  | ||||
| #include <errno.h> | ||||
| #include <stdarg.h> | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
|  | ||||
| const Domain exception_domain("exception"); | ||||
|  | ||||
| const Domain errno_domain("errno"); | ||||
|  | ||||
| #ifdef WIN32 | ||||
| const Domain win32_domain("win32"); | ||||
| #endif | ||||
|  | ||||
| Error::~Error() {} | ||||
|  | ||||
| void | ||||
| Error::Set(std::exception_ptr src) | ||||
| { | ||||
| 	try { | ||||
| 		/* classify the exception */ | ||||
| 		std::rethrow_exception(src); | ||||
| 	} catch (const std::system_error &se) { | ||||
| 		if (se.code().category() == std::system_category()) { | ||||
| #ifdef WIN32 | ||||
| 			Set(win32_domain, se.code().value(), se.what()); | ||||
| #else | ||||
| 			Set(errno_domain, se.code().value(), se.what()); | ||||
| #endif | ||||
| 		} else | ||||
| 			Set(exception_domain, se.what()); | ||||
| 	} catch (const std::exception &e) { | ||||
| 		Set(exception_domain, e.what()); | ||||
| 	} catch (...) { | ||||
| 		Set(exception_domain, "Unknown exception"); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::Set(const Domain &_domain, int _code, const char *_message) | ||||
| { | ||||
| 	domain = &_domain; | ||||
| 	code = _code; | ||||
| 	message.assign(_message); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::Format2(const Domain &_domain, int _code, const char *fmt, ...) | ||||
| { | ||||
| 	char buffer[1024]; | ||||
| 	va_list ap; | ||||
| 	va_start(ap, fmt); | ||||
| 	vsnprintf(buffer, sizeof(buffer), fmt, ap); | ||||
| 	va_end(ap); | ||||
|  | ||||
| 	Set(_domain, _code, buffer); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::FormatPrefix(const char *fmt, ...) | ||||
| { | ||||
| 	char buffer[1024]; | ||||
| 	va_list ap; | ||||
| 	va_start(ap, fmt); | ||||
| 	vsnprintf(buffer, sizeof(buffer), fmt, ap); | ||||
| 	va_end(ap); | ||||
|  | ||||
| 	AddPrefix(buffer); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::SetErrno(int e) | ||||
| { | ||||
| 	Set(errno_domain, e, strerror(e)); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::SetErrno() | ||||
| { | ||||
| 	SetErrno(errno); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::SetErrno(int e, const char *prefix) | ||||
| { | ||||
| 	Format(errno_domain, e, "%s: %s", prefix, strerror(e)); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::SetErrno(const char *prefix) | ||||
| { | ||||
| 	SetErrno(errno, prefix); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::FormatErrno(int e, const char *fmt, ...) | ||||
| { | ||||
| 	char buffer[1024]; | ||||
| 	va_list ap; | ||||
| 	va_start(ap, fmt); | ||||
| 	vsnprintf(buffer, sizeof(buffer), fmt, ap); | ||||
| 	va_end(ap); | ||||
|  | ||||
| 	SetErrno(e, buffer); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::FormatErrno(const char *fmt, ...) | ||||
| { | ||||
| 	const int e = errno; | ||||
|  | ||||
| 	char buffer[1024]; | ||||
| 	va_list ap; | ||||
| 	va_start(ap, fmt); | ||||
| 	vsnprintf(buffer, sizeof(buffer), fmt, ap); | ||||
| 	va_end(ap); | ||||
|  | ||||
| 	SetErrno(e, buffer); | ||||
| } | ||||
|  | ||||
| #ifdef WIN32 | ||||
|  | ||||
| void | ||||
| Error::SetLastError(DWORD _code, const char *prefix) | ||||
| { | ||||
| 	char msg[256]; | ||||
| 	FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | | ||||
| 		       FORMAT_MESSAGE_IGNORE_INSERTS, | ||||
| 		       nullptr, _code, 0, msg, sizeof(msg), nullptr); | ||||
|  | ||||
| 	Format(win32_domain, int(_code), "%s: %s", prefix, msg); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::SetLastError(const char *prefix) | ||||
| { | ||||
| 	SetLastError(GetLastError(), prefix); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::FormatLastError(DWORD _code, const char *fmt, ...) | ||||
| { | ||||
| 	char buffer[1024]; | ||||
| 	va_list ap; | ||||
| 	va_start(ap, fmt); | ||||
| 	vsnprintf(buffer, sizeof(buffer), fmt, ap); | ||||
| 	va_end(ap); | ||||
|  | ||||
| 	SetLastError(_code, buffer); | ||||
| } | ||||
|  | ||||
| void | ||||
| Error::FormatLastError(const char *fmt, ...) | ||||
| { | ||||
| 	DWORD _code = GetLastError(); | ||||
|  | ||||
| 	char buffer[1024]; | ||||
| 	va_list ap; | ||||
| 	va_start(ap, fmt); | ||||
| 	vsnprintf(buffer, sizeof(buffer), fmt, ap); | ||||
| 	va_end(ap); | ||||
|  | ||||
| 	SetLastError(_code, buffer); | ||||
| } | ||||
|  | ||||
| #endif | ||||
| @@ -1,186 +0,0 @@ | ||||
| /* | ||||
|  * Copyright (C) 2013 Max Kellermann <max@duempel.org> | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without | ||||
|  * modification, are permitted provided that the following conditions | ||||
|  * are met: | ||||
|  * | ||||
|  * - Redistributions of source code must retain the above copyright | ||||
|  * notice, this list of conditions and the following disclaimer. | ||||
|  * | ||||
|  * - Redistributions in binary form must reproduce the above copyright | ||||
|  * notice, this list of conditions and the following disclaimer in the | ||||
|  * documentation and/or other materials provided with the | ||||
|  * distribution. | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||
|  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||
|  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | ||||
|  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE | ||||
|  * FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||||
|  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
|  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||||
|  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||||
|  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
|  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||||
|  * OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
|  */ | ||||
|  | ||||
| #ifndef ERROR_HXX | ||||
| #define ERROR_HXX | ||||
|  | ||||
| #include "check.h" | ||||
| #include "Compiler.h" | ||||
|  | ||||
| #include <string> | ||||
| #include <utility> | ||||
| #include <exception> | ||||
|  | ||||
| #include <assert.h> | ||||
|  | ||||
| class Domain; | ||||
|  | ||||
| /** Domain for std::exception */ | ||||
| extern const Domain exception_domain; | ||||
|  | ||||
| extern const Domain errno_domain; | ||||
|  | ||||
| #ifdef WIN32 | ||||
| /* fuck WIN32! */ | ||||
| #include <windows.h> | ||||
| #define IgnoreError MPDIgnoreError | ||||
| #undef GetMessage | ||||
|  | ||||
| /** | ||||
|  * Domain for GetLastError(). | ||||
|  */ | ||||
| extern const Domain win32_domain; | ||||
| #endif | ||||
|  | ||||
| /** | ||||
|  * This class contains information about a runtime error. | ||||
|  */ | ||||
| class Error { | ||||
| 	const Domain *domain; | ||||
| 	int code; | ||||
| 	std::string message; | ||||
|  | ||||
| public: | ||||
| 	Error():domain(nullptr), code(0) {} | ||||
|  | ||||
| 	Error(const Domain &_domain, int _code, const char *_message) | ||||
| 		:domain(&_domain), code(_code), message(_message) {} | ||||
|  | ||||
| 	Error(const Domain &_domain, const char *_message) | ||||
| 		:domain(&_domain), code(0), message(_message) {} | ||||
|  | ||||
| 	~Error(); | ||||
|  | ||||
| 	bool IsDefined() const { | ||||
| 		return domain != nullptr; | ||||
| 	} | ||||
|  | ||||
| 	void Clear() { | ||||
| 		domain = nullptr; | ||||
| 	} | ||||
|  | ||||
| 	const Domain &GetDomain() const { | ||||
| 		assert(IsDefined()); | ||||
|  | ||||
| 		return *domain; | ||||
| 	} | ||||
|  | ||||
| 	bool IsDomain(const Domain &other) const { | ||||
| 		return domain == &other; | ||||
| 	} | ||||
|  | ||||
| 	int GetCode() const { | ||||
| 		assert(IsDefined()); | ||||
|  | ||||
| 		return code; | ||||
| 	} | ||||
|  | ||||
| 	const char *GetMessage() const { | ||||
| 		assert(IsDefined()); | ||||
|  | ||||
| 		return message.c_str(); | ||||
| 	} | ||||
|  | ||||
| 	void Set(const Error &other) { | ||||
| 		assert(!IsDefined()); | ||||
| 		assert(other.IsDefined()); | ||||
|  | ||||
| 		domain = other.domain; | ||||
| 		code = other.code; | ||||
| 		message = other.message; | ||||
| 	} | ||||
|  | ||||
| 	void Set(std::exception_ptr src); | ||||
|  | ||||
| 	void Set(const Domain &_domain, int _code, const char *_message); | ||||
|  | ||||
| 	void Set(const Domain &_domain, const char *_message) { | ||||
| 		Set(_domain, 0, _message); | ||||
| 	} | ||||
|  | ||||
| private: | ||||
| 	void Format2(const Domain &_domain, int _code, const char *fmt, ...); | ||||
|  | ||||
| public: | ||||
| 	template<typename... Args> | ||||
| 	void Format(const Domain &_domain, int _code, | ||||
| 		    const char *fmt, Args&&... args) { | ||||
| 		Format2(_domain, _code, fmt, std::forward<Args>(args)...); | ||||
| 	} | ||||
|  | ||||
| 	template<typename... Args> | ||||
| 	void Format(const Domain &_domain, const char *fmt, Args&&... args) { | ||||
| 		Format2(_domain, 0, fmt, std::forward<Args>(args)...); | ||||
| 	} | ||||
|  | ||||
| 	void AddPrefix(const char *prefix) { | ||||
| 		message.insert(0, prefix); | ||||
| 	} | ||||
|  | ||||
| 	gcc_printf(2,3) | ||||
| 	void FormatPrefix(const char *fmt, ...); | ||||
|  | ||||
| 	void SetErrno(int e); | ||||
| 	void SetErrno(); | ||||
| 	void SetErrno(int e, const char *prefix); | ||||
| 	void SetErrno(const char *prefix); | ||||
|  | ||||
| 	gcc_printf(2,3) | ||||
| 	void FormatErrno(const char *prefix, ...); | ||||
|  | ||||
| 	gcc_printf(3,4) | ||||
| 	void FormatErrno(int e, const char *prefix, ...); | ||||
|  | ||||
| #ifdef WIN32 | ||||
| 	void SetLastError(DWORD _code, const char *prefix); | ||||
| 	void SetLastError(const char *prefix); | ||||
|  | ||||
| 	gcc_printf(3,4) | ||||
| 	void FormatLastError(DWORD code, const char *fmt, ...); | ||||
|  | ||||
| 	gcc_printf(2,3) | ||||
| 	void FormatLastError(const char *fmt, ...); | ||||
| #endif | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Pass a temporary instance of this class to ignore errors. | ||||
|  */ | ||||
| class IgnoreError final { | ||||
| 	Error error; | ||||
|  | ||||
| public: | ||||
| 	operator Error &() { | ||||
| 		assert(!error.IsDefined()); | ||||
|  | ||||
| 		return error; | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| #endif | ||||
| @@ -4,7 +4,6 @@ | ||||
|  | ||||
| #include "config.h" | ||||
| #include "fs/Glob.hxx" | ||||
| #include "util/Error.hxx" | ||||
|  | ||||
| #include <cppunit/TestFixture.h> | ||||
| #include <cppunit/extensions/TestFactoryRegistry.h> | ||||
|   | ||||
| @@ -6,7 +6,6 @@ | ||||
| #include "lib/icu/Converter.hxx" | ||||
| #include "util/AllocatedString.hxx" | ||||
| #include "util/StringAPI.hxx" | ||||
| #include "util/Error.hxx" | ||||
|  | ||||
| #include <cppunit/TestFixture.h> | ||||
| #include <cppunit/extensions/TestFactoryRegistry.h> | ||||
|   | ||||
| @@ -20,7 +20,6 @@ | ||||
| #include "config.h" | ||||
| #include "fs/io/FileOutputStream.hxx" | ||||
| #include "Log.hxx" | ||||
| #include "util/Error.hxx" | ||||
|  | ||||
| #include <unistd.h> | ||||
| #include <errno.h> | ||||
| @@ -32,8 +31,6 @@ | ||||
| static bool | ||||
| Copy(OutputStream &dest, int src) | ||||
| { | ||||
| 	Error error; | ||||
|  | ||||
| 	while (true) { | ||||
| 		uint8_t buffer[8192]; | ||||
| 		ssize_t nbytes = read(src, buffer, sizeof(buffer)); | ||||
|   | ||||
| @@ -25,7 +25,6 @@ | ||||
| #include "Main.hxx" | ||||
| #include "event/Loop.hxx" | ||||
| #include "config/Block.hxx" | ||||
| #include "util/Error.hxx" | ||||
| #include "Log.hxx" | ||||
|  | ||||
| #include <assert.h> | ||||
|   | ||||
| @@ -22,7 +22,6 @@ | ||||
| #include "fs/io/FileReader.hxx" | ||||
| #include "fs/io/StdioOutputStream.hxx" | ||||
| #include "Log.hxx" | ||||
| #include "util/Error.hxx" | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
|   | ||||
| @@ -23,7 +23,6 @@ | ||||
| #include "storage/Registry.hxx" | ||||
| #include "storage/StorageInterface.hxx" | ||||
| #include "storage/FileInfo.hxx" | ||||
| #include "util/Error.hxx" | ||||
|  | ||||
| #include <memory> | ||||
| #include <stdexcept> | ||||
|   | ||||
| @@ -7,7 +7,6 @@ | ||||
| #include "input/InputStream.hxx" | ||||
| #include "thread/Mutex.hxx" | ||||
| #include "thread/Cond.hxx" | ||||
| #include "util/Error.hxx" | ||||
|  | ||||
| #include <cppunit/TestFixture.h> | ||||
| #include <cppunit/extensions/TestFactoryRegistry.h> | ||||
| @@ -73,7 +72,6 @@ public: | ||||
| 		CPPUNIT_ASSERT(!ris->KnownSize()); | ||||
| 		CPPUNIT_ASSERT_EQUAL(offset_type(0), ris->GetOffset()); | ||||
|  | ||||
| 		Error error; | ||||
| 		char buffer[16]; | ||||
| 		size_t nbytes = ris->Read(buffer, 2); | ||||
| 		CPPUNIT_ASSERT_EQUAL(size_t(2), nbytes); | ||||
|   | ||||
| @@ -15,7 +15,6 @@ | ||||
| #include "Log.hxx" | ||||
| #include "db/DatabaseSong.hxx" | ||||
| #include "storage/plugins/LocalStorage.hxx" | ||||
| #include "util/Error.hxx" | ||||
| #include "Mapper.hxx" | ||||
|  | ||||
| #include <cppunit/TestFixture.h> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann