[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: ui: (size->number "1.M") is correctly parsed.
From: |
guix-commits |
Subject: |
02/02: ui: (size->number "1.M") is correctly parsed. |
Date: |
Sun, 23 Feb 2020 06:47:31 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit fa99c4bbc7acdb8def9ce14a05aacb73f99fe3b1
Author: Ludovic Courtès <address@hidden>
AuthorDate: Sun Feb 23 12:42:58 2020 +0100
ui: (size->number "1.M") is correctly parsed.
Reported by Pierre Neidhardt <address@hidden>.
* guix/ui.scm (size->number)[unit-pos]: Add #\. to CHAR-SET:DIGIT.
* tests/ui.scm ("size->number, 1.M"): New test.
---
guix/ui.scm | 3 ++-
tests/ui.scm | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/guix/ui.scm b/guix/ui.scm
index dce97fb..db932ec 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -591,7 +591,8 @@ nicely."
\"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))))
diff --git a/tests/ui.scm b/tests/ui.scm
index d8573e8..05eace6 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès
<address@hidden>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès
<address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -227,6 +227,10 @@ Second line" 24))
(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 ()