On Fri, Oct 18, 2013 at 10:01:10PM +1000, Allan McRae wrote:
On 17/10/13 21:55, Florian Pritz wrote:
I've tracked this back to e223366 and it looks like this just forces KiB because back then humanize_size didn't exist, but the size was just divided by 1024 to keep it somewhat readable. When humanize_size got introduced in 3c8a448 this was just carried over.
Signed-off-by: Florian Pritz <bluewind@xinu.at> ---
Similar to this -Su also forces units to MiB, but I'm unsure if this should be changed since -Su outputs a nice table and having everything in the same unit makes comparing packages easier.
Any input on this patch and the -Su situation would be welcome.
I'd be fine with this patch but think -Su should stay the same. Any other comments here?
I dislike this because it can lead to the installed and download sizes having different units, e.g. $ ./pacman -Si sage-mathematics ... Download Size : 370.22 MiB Installed Size : 2.21 GiB ... And this could probably only get weirder when you have multiple packages in the output. Having a consistent unit size here when humanize_size was introduced was likely an intentional non-change.
src/pacman/package.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/pacman/package.c b/src/pacman/package.c index eab2873..b10207b 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -165,7 +165,7 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra) deplist_display(_("Conflicts With :"), alpm_pkg_get_conflicts(pkg), cols); deplist_display(_("Replaces :"), alpm_pkg_get_replaces(pkg), cols);
- size = humanize_size(alpm_pkg_get_size(pkg), 'K', 2, &label); + size = humanize_size(alpm_pkg_get_size(pkg), '\0', 2, &label); if(from == ALPM_PKG_FROM_SYNCDB) { printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Download Size :"), config->colstr.nocolor, size, label); @@ -174,7 +174,7 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra) config->colstr.nocolor, size, label); }
- size = humanize_size(alpm_pkg_get_isize(pkg), 'K', 2, &label); + size = humanize_size(alpm_pkg_get_isize(pkg), '\0', 2, &label); printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Installed Size :"), config->colstr.nocolor, size, label);