GNU bug report logs - #32711
[PATCH] ui: Fix abort on #\nul character in build output.

Previous Next

Package: guix-patches;

Reported by: ericbavier <at> centurylink.net

Date: Wed, 12 Sep 2018 02:45:01 UTC

Severity: normal

Tags: patch

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: tracker <at> debbugs.gnu.org
Subject: bug#32711: closed ([PATCH] ui: Fix abort on #\nul character in
 build output.)
Date: Fri, 28 Sep 2018 21:15:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 28 Sep 2018 23:14:49 +0200
with message-id <8736tt1fzq.fsf <at> gnu.org>
and subject line Re: [bug#32711] [PATCH] ui: Fix abort on #\nul character in build output.
has caused the debbugs.gnu.org bug report #32711,
regarding [PATCH] ui: Fix abort on #\nul character in build output.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
32711: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32711
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ericbavier <at> centurylink.net
To: guix-patches <at> gnu.org
Cc: Eric Bavier <bavier <at> member.fsf.org>
Subject: [PATCH] ui: Fix abort on #\nul character in build output.
Date: Tue, 11 Sep 2018 21:38:23 -0500
From: Eric Bavier <bavier <at> member.fsf.org>

Fixes build of "lz4" package, e.g.

* guix/ui.scm (build-output-port)[handle-string]: Check for #\nul before doing
any regex matching.
---
 guix/ui.scm | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/guix/ui.scm b/guix/ui.scm
index c55ae7e2f..207aba8ad 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1762,18 +1762,19 @@ phase announcements and replaces any other output with a spinner."
                      RED BLUE RED BLUE RED BLUE))))
       (lambda (str)
         (let ((processed
-               (any (match-lambda
-                      ((pattern #:transform transform)
-                       (and=> (string-match pattern str)
-                              transform))
-                      ((pattern . colors)
-                       (and=> (string-match pattern str)
-                              (lambda (m)
-                                (let ((substrings
-                                       (map (cut match:substring m <>)
-                                            (iota (- (match:count m) 1) 1))))
-                                  (string-join (map proc substrings colors) ""))))))
-                    rules)))
+               (and (not (string-index str #\nul)) ;(ice-9 regex) cannot handle #\nul
+                    (any (match-lambda
+                          ((pattern #:transform transform)
+                           (and=> (string-match pattern str)
+                                  transform))
+                          ((pattern . colors)
+                           (and=> (string-match pattern str)
+                                  (lambda (m)
+                                    (let ((substrings
+                                           (map (cut match:substring m <>)
+                                                (iota (- (match:count m) 1) 1))))
+                                      (string-join (map proc substrings colors) ""))))))
+                         rules))))
           (when spun?
             (display (string #\backspace) port))
           (if processed
-- 
2.18.0



[Message part 3 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: ericbavier <at> centurylink.net
Cc: 32711-done <at> debbugs.gnu.org, Eric Bavier <bavier <at> member.fsf.org>
Subject: Re: [bug#32711] [PATCH] ui: Fix abort on #\nul character in build
 output.
Date: Fri, 28 Sep 2018 23:14:49 +0200
Hi Eric,

ericbavier <at> centurylink.net skribis:

> From: Eric Bavier <bavier <at> member.fsf.org>
>
> Fixes build of "lz4" package, e.g.
>
> * guix/ui.scm (build-output-port)[handle-string]: Check for #\nul before doing
> any regex matching.

This is fixed in the new (guix status) code, commit
dc0f74e5fc26977a3ee6c4f2aa74a141f4359982 (see the ‘color-rules’ macro.)

Thank you, and sorry for not responding earlier!

Ludo’.


This bug report was last modified 6 years and 236 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.