From e77b3fa46f2aca1dc237e17d39eee9b90b830813 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max.kellermann@gmail.com>
Date: Tue, 6 Sep 2022 20:20:58 +0200
Subject: [PATCH 1/5] increment version number to 0.23.10

---
 NEWS                        | 2 ++
 android/AndroidManifest.xml | 4 ++--
 doc/conf.py                 | 2 +-
 meson.build                 | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/NEWS b/NEWS
index 38f41db10..e6599e05e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+ver 0.23.10 (not yet released)
+
 ver 0.23.9 (2022/08/18)
 * input
   - cdio_paranoia: add options "mode" and "skip"
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
index 3586de703..33c51c4da 100644
--- a/android/AndroidManifest.xml
+++ b/android/AndroidManifest.xml
@@ -2,8 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="org.musicpd"
           android:installLocation="auto"
-          android:versionCode="68"
-          android:versionName="0.23.9">
+          android:versionCode="69"
+          android:versionName="0.23.10">
 
   <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30"/>
 
diff --git a/doc/conf.py b/doc/conf.py
index 59f705e8d..0c50cecb7 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -38,7 +38,7 @@ author = 'Max Kellermann'
 # built documents.
 #
 # The short X.Y version.
-version = '0.23.9'
+version = '0.23.10'
 # The full version, including alpha/beta/rc tags.
 #release = version + '~git'
 
diff --git a/meson.build b/meson.build
index 22f8c466c..a7ab0fa16 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
 project(
   'mpd',
   ['c', 'cpp'],
-  version: '0.23.9',
+  version: '0.23.10',
   meson_version: '>= 0.56.0',
   default_options: [
     'c_std=c11',

From 3b05c8976518fa2835e8c46bb6d6e6e099093ba2 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max.kellermann@gmail.com>
Date: Tue, 6 Sep 2022 20:27:23 +0200
Subject: [PATCH 2/5] archive/iso9660: fix off-by-one assertion failure

Calling data[fill] could trigger an assertion failure if
fill==data.size(), even if we call it only to take the address.

Instead of doing that, this commit changes the code to pointer
arithmetic.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1556
---
 src/archive/plugins/Iso9660ArchivePlugin.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/archive/plugins/Iso9660ArchivePlugin.cxx b/src/archive/plugins/Iso9660ArchivePlugin.cxx
index 7bcfb252a..375179970 100644
--- a/src/archive/plugins/Iso9660ArchivePlugin.cxx
+++ b/src/archive/plugins/Iso9660ArchivePlugin.cxx
@@ -166,7 +166,7 @@ class Iso9660InputStream final : public InputStream {
 			assert(fill <= data.size());
 			assert(position <= fill);
 
-			return {&data[position], &data[fill]};
+			return {data.data() + position, data.data() + fill};
 		}
 
 		void Consume(size_t nbytes) noexcept {

From 910d0ec92be464a4a6b5aeb6d1193ecdde958fe7 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max.kellermann@gmail.com>
Date: Tue, 6 Sep 2022 20:44:21 +0200
Subject: [PATCH 3/5] test/net/meson.build: add missing dependency

---
 test/net/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/test/net/meson.build b/test/net/meson.build
index b21c9a2fb..fff077ace 100644
--- a/test/net/meson.build
+++ b/test/net/meson.build
@@ -19,6 +19,7 @@ test(
     include_directories: inc,
     dependencies: [
       net_dep,
+      util_dep,
       gtest_dep,
     ],
   ),

From 38704c9cf3037cd1b360c6847f2529ee2ada6a7a Mon Sep 17 00:00:00 2001
From: Max Kellermann <max.kellermann@gmail.com>
Date: Tue, 6 Sep 2022 21:03:42 +0200
Subject: [PATCH 4/5] LogInit: improve systemd/journald comment

---
 src/LogInit.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/LogInit.cxx b/src/LogInit.cxx
index 98a8810bd..7aeb069d3 100644
--- a/src/LogInit.cxx
+++ b/src/LogInit.cxx
@@ -158,7 +158,7 @@ log_init(const ConfigData &config, bool verbose, bool use_stdout)
 			    getenv("NOTIFY_SOCKET") != nullptr) {
 				/* if MPD was started as a systemd
 				   service, default to journal (which
-				   is connected to fd=2) */
+				   is connected to stdout&stderr) */
 				out_fd = STDOUT_FILENO;
 				return;
 			}

From 84f43ccde8b55f4b074069b1cf760abd7c6019d8 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max.kellermann@gmail.com>
Date: Tue, 6 Sep 2022 20:59:19 +0200
Subject: [PATCH 5/5] LogInit: default to stderr on Windows

Don't require "log_file" setting, for "--no-config" operation.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1600
---
 NEWS            | 2 ++
 src/LogInit.cxx | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index e6599e05e..f3ea930d7 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.23.10 (not yet released)
+* Windows
+  - log to stdout by default, don't require "log_file" setting
 
 ver 0.23.9 (2022/08/18)
 * input
diff --git a/src/LogInit.cxx b/src/LogInit.cxx
index 7aeb069d3..97bf092c8 100644
--- a/src/LogInit.cxx
+++ b/src/LogInit.cxx
@@ -163,7 +163,10 @@ log_init(const ConfigData &config, bool verbose, bool use_stdout)
 				return;
 			}
 #endif
-#ifndef HAVE_SYSLOG
+#ifdef _WIN32
+			/* default to stdout on Windows */
+			out_fd = STDOUT_FILENO;
+#elif !defined(HAVE_SYSLOG)
 			throw std::runtime_error("config parameter 'log_file' not found");
 #endif
 #ifdef HAVE_SYSLOG