From 18f64b5fb7a846f133b0c3bb9dad5ad5f2c7a1bf Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Wed, 13 Oct 2021 16:39:16 +0200
Subject: [PATCH] system/FatalError: remove obsolete library

---
 src/system/FatalError.cxx | 101 --------------------------------------
 src/system/FatalError.hxx |  61 -----------------------
 src/system/meson.build    |   1 -
 3 files changed, 163 deletions(-)
 delete mode 100644 src/system/FatalError.cxx
 delete mode 100644 src/system/FatalError.hxx

diff --git a/src/system/FatalError.cxx b/src/system/FatalError.cxx
deleted file mode 100644
index 75ab636b3..000000000
--- a/src/system/FatalError.cxx
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2003-2021 The Music Player Daemon Project
- * http://www.musicpd.org
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "FatalError.hxx"
-#include "util/Domain.hxx"
-#include "LogV.hxx"
-
-#include <cstdarg>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-
-#ifdef _WIN32
-#include <errhandlingapi.h> // for GetLastError()
-#include <windef.h> // for HWND (needed by winbase.h)
-#include <winbase.h> // for FormatMessageA()
-#else
-#include <cerrno>
-#endif
-
-static constexpr Domain fatal_error_domain("fatal_error");
-
-[[noreturn]]
-static void
-Abort()
-{
-	std::_Exit(EXIT_FAILURE);
-}
-
-void
-FatalError(const char *msg)
-{
-	LogError(fatal_error_domain, msg);
-	Abort();
-}
-
-void
-FormatFatalError(const char *fmt, ...)
-{
-	std::va_list ap;
-	va_start(ap, fmt);
-	LogFormatV(LogLevel::ERROR, fatal_error_domain, fmt, ap);
-	va_end(ap);
-
-	Abort();
-}
-
-#ifdef _WIN32
-
-void
-FatalSystemError(const char *msg, DWORD code)
-{
-	char buffer[256];
-	FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM |
-		       FORMAT_MESSAGE_IGNORE_INSERTS,
-		       nullptr, code, 0,
-		       buffer, sizeof(buffer), nullptr);
-	FormatFatalError("%s: %s", msg, buffer);
-}
-
-#endif
-
-void
-FatalSystemError(const char *msg)
-{
-#ifdef _WIN32
-	FatalSystemError(msg, GetLastError());
-#else
-	auto system_error = std::strerror(errno);
-	FmtError(fatal_error_domain, "{}: {}", msg, system_error);
-	Abort();
-#endif
-}
-
-void
-FormatFatalSystemError(const char *fmt, ...)
-{
-	char buffer[1024];
-	std::va_list ap;
-	va_start(ap, fmt);
-	std::vsnprintf(buffer, sizeof(buffer), fmt, ap);
-	va_end(ap);
-
-	FatalSystemError(buffer);
-}
diff --git a/src/system/FatalError.hxx b/src/system/FatalError.hxx
deleted file mode 100644
index d90bde88e..000000000
--- a/src/system/FatalError.hxx
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2003-2021 The Music Player Daemon Project
- * http://www.musicpd.org
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPD_FATAL_ERROR_HXX
-#define MPD_FATAL_ERROR_HXX
-
-#include "util/Compiler.h"
-
-#ifdef _WIN32
-#include <windef.h>
-#endif
-
-/**
- * Log the specified message and abort the process.
- */
-[[noreturn]]
-void
-FatalError(const char *msg);
-
-[[noreturn]]
-void
-FormatFatalError(const char *fmt, ...);
-
-/**
- * Call this after a system call has failed that is not supposed to
- * fail.  Prints the given message, the system error message (from
- * errno or GetLastError()) and abort the process.
- */
-[[noreturn]]
-void
-FatalSystemError(const char *msg);
-
-#ifdef _WIN32
-
-[[noreturn]]
-void
-FatalSystemError(const char *msg, DWORD code);
-
-#endif
-
-[[noreturn]]
-void
-FormatFatalSystemError(const char *fmt, ...);
-
-#endif
diff --git a/src/system/meson.build b/src/system/meson.build
index eae95655b..6252248cb 100644
--- a/src/system/meson.build
+++ b/src/system/meson.build
@@ -1,5 +1,4 @@
 system_sources = [
-  'FatalError.cxx',
   'EventPipe.cxx',
   'Clock.cxx',
 ]