apteryx pushed a commit to branch master
in repository guix.

commit 2455c4ded9ff7b44acfb3497963590792657dc2b
Author: Yarl Baudig <[email protected]>
AuthorDate: Sun Jun 23 16:15:58 2024 +0200

    services: mpd: Fix log to file.
    
    (match value (%unset-value ...)) is equivalent here to
    (match value (_ ...)). Even if you set 'log-file to some path, it's always
    "syslog" in the configuration file.
    
    * gnu/services/audio.scm (mpd): Fix buggy 'match'.
    
    Signed-off-by: Maxim Cournoyer <[email protected]>
    Change-Id: If397919c2844d856c69fe00b8907b7b3fd86e564
---
 gnu/services/audio.scm | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm
index ae991ced4d..5d2cd56a17 100644
--- a/gnu/services/audio.scm
+++ b/gnu/services/audio.scm
@@ -251,16 +251,14 @@ user-group instead~%"))
          (configuration-field-error #f 'group value))))
 
 (define (mpd-log-file-sanitizer value)
-  (match value
-    (%unset-value
-     ;; XXX: While leaving the 'sys_log' option out of the mpd.conf file is
-     ;; supposed to cause logging to happen via systemd (elogind provides a
-     ;; compatible interface), this doesn't work (nothing gets logged); use
-     ;; syslog instead.
-     "syslog")
-    ((? string?)
-     value)
-    (_ (configuration-field-error #f 'log-file value))))
+  ;; XXX: While leaving the 'sys_log' option out of the mpd.conf file is
+  ;; supposed to cause logging to happen via systemd (elogind provides a
+  ;; compatible interface), this doesn't work (nothing gets logged); use
+  ;; syslog instead.
+  (let ((value (maybe-value value "syslog")))
+    (if (string? value)
+        value
+        (configuration-field-error #f 'log-file value))))
 
 ;;;
 

Reply via email to