]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
xz: Avoid a compiler warning in progress_speed() in message.c.
authorJia Tan <jiat0218@gmail.com>
Mon, 7 Nov 2022 14:24:14 +0000 (16:24 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Fri, 11 Nov 2022 11:41:43 +0000 (13:41 +0200)
This should be smaller too since it avoids the string constants.

src/xz/message.c

index aa915d2d60d1170f9c05eb2fff589eaac5d4c6bc..91e0de4536b3f3b992146f59c248954ac54b80f8 100644 (file)
@@ -355,11 +355,8 @@ progress_speed(uint64_t uncompressed_pos, uint64_t elapsed)
        if (elapsed < 3000)
                return "";
 
-       static const char unit[][8] = {
-               "KiB/s",
-               "MiB/s",
-               "GiB/s",
-       };
+       // The first character of KiB/s, MiB/s, or GiB/s:
+       static const char unit[] = { 'K', 'M', 'G' };
 
        size_t unit_index = 0;
 
@@ -381,7 +378,7 @@ progress_speed(uint64_t uncompressed_pos, uint64_t elapsed)
        //  - 999 KiB/s
        // Use big enough buffer to hold e.g. a multibyte decimal point.
        static char buf[16];
-       snprintf(buf, sizeof(buf), "%.*f %s",
+       snprintf(buf, sizeof(buf), "%.*f %ciB/s",
                        speed > 9.9 ? 0 : 1, speed, unit[unit_index]);
        return buf;
 }