mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 21:46:35 +01:00
ui: (size->number "1.M") is correctly parsed.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>. * guix/ui.scm (size->number)[unit-pos]: Add #\. to CHAR-SET:DIGIT. * tests/ui.scm ("size->number, 1.M"): New test.
This commit is contained in:
parent
9f2fef4fb1
commit
fa99c4bbc7
2 changed files with 7 additions and 2 deletions
|
@ -591,7 +591,8 @@ (define (size->number str)
|
|||
\"1MiB\", to a number of bytes. Raise an error if STR could not be
|
||||
interpreted."
|
||||
(define unit-pos
|
||||
(string-rindex str char-set:digit))
|
||||
(string-rindex str
|
||||
(char-set-union (char-set #\.) char-set:digit)))
|
||||
|
||||
(define unit
|
||||
(and unit-pos (substring str (+ 1 unit-pos))))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -227,6 +227,10 @@ (define guile-2.0.9
|
|||
(expt 2 40)
|
||||
(size->number "1T"))
|
||||
|
||||
(test-equal "size->number, 1.M"
|
||||
(expt 2 20)
|
||||
(size->number "1.M"))
|
||||
|
||||
(test-assert "size->number, invalid unit"
|
||||
(catch 'quit
|
||||
(lambda ()
|
||||
|
|
Loading…
Reference in a new issue