guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

25/80: installer: Use a cleaner way of generating the lspci information.


From: John Darrington
Subject: 25/80: installer: Use a cleaner way of generating the lspci information.
Date: Tue, 3 Jan 2017 15:49:42 +0000 (UTC)

jmd pushed a commit to branch wip-installer
in repository guix.

commit 5aa3a63486ca3e80c9b0b27a63e2990a491914c9
Author: John Darrington <address@hidden>
Date:   Sat Dec 24 10:57:45 2016 +0100

    installer: Use a cleaner way of generating the lspci information.
    
    * gnu/system/installer/network.scm (network-page-init): Clean up 
implementation.
---
 gnu/system/installer/network.scm |   40 ++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 21 deletions(-)

diff --git a/gnu/system/installer/network.scm b/gnu/system/installer/network.scm
index 4e3abd6..61af33b 100644
--- a/gnu/system/installer/network.scm
+++ b/gnu/system/installer/network.scm
@@ -147,27 +147,25 @@
                  ;; something more descriptive like
                  ;; "82567LM Gigabit Network Connection"
                  (let* ((name (assq-ref datum 'name))
-                         (addr (string-tokenize name char-set:digit))
-                        (bus (match addr ((n . _)
-                                          (string->number n 10))))
-                        
-                        (device (match addr ((_ . (n . _))
-                                             (string->number n 10))))
-                        
-                        (func (match addr
-                                ((_ . (_ . (n . _)))
-                                 (string->number n 10)) (_ 0))))
-                   (car (assoc-ref
-                          (cdr
-                           ;; It seems that lspci always prints an initial
-                           ;; "Device: <bus>:<device>.<func> line.  We are not
-                           ;; interested in this, and it conflicts with the 
"real"
-                           ;; (descriptive) Device: line which we want.  Hence
-                           ;; the above cdr strips the first line away.
-                           (slurp (format #f "lspci -vm -s~x:~x.~x" bus device 
func)
-                                  (lambda (x)
-                                    (string-split x #\tab))))
-                         "Device:")))))))
+                         (addr (string-tokenize name char-set:digit)))
+                    (match addr
+                      ((bus device . func)
+                       (car (assoc-ref
+                             (cdr
+                              ;; It seems that lspci always prints an initial
+                              ;; "Device: <bus>:<device>.<func> line.  We are
+                              ;; not interested in this, and it conflicts with
+                              ;; the "real" (descriptive) Device: line which we
+                              ;; want.  Hence the above cdr strips the first 
line
+                              ;; away.
+                              (slurp (format #f "lspci -vm -s~x:~x.~x"
+                                             (string->number bus 10)
+                                             (string->number device 10)
+                                             (if (null? func) 0
+                                                 (string->number func 10)))
+                                     (lambda (x)
+                                       (string-split x #\tab))))
+                             "Device:")))))))))
     
 
     (addstr*   text-window  (format #f



reply via email to

[Prev in Thread] Current Thread [Next in Thread]