[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: [BusyBox] bug#1142: ls -l behaves like ls -lh when HUMAN_READABLE is turned on
From: Mark Whitley <markw () lineo ! com>
Date: 2001-03-28 18:52:01
[Download RAW message or body]
Package: busybox
Version: CVS
Severity: normal
I suspect this problem was introduced with the recent modifications to ls and
make_human_readable(). Test case follows:
Busybox compiled with BB_FEATURE_HUMAN_READABLE disabled:
$ /bin/ls -l tests/
total 76
drwxr-xr-x 2 markw users 4096 Mar 27 13:50 CVS
-rw-r--r-- 1 markw users 675 Aug 21 2000 Makefile
-rw-r--r-- 1 markw users 8944 Dec 11 10:33 cp_tests.mk
-rw-r--r-- 1 markw users 294 Mar 13 13:54 expr
-rw-r--r-- 1 markw users 210 Mar 26 10:07 grep.in
-rw-r--r-- 1 markw users 1423 Mar 4 2000 ln_tests.mk
-rw-r--r-- 1 markw users 1086 Mar 15 15:13 mb.patch
-rwxr-xr-x 1 markw users 2206 Mar 15 15:13 multibuild.pl
-rwxr-xr-x 1 markw users 2414 Mar 15 15:15 multifeat.pl
-rw-r--r-- 1 markw users 3906 Dec 11 10:33 mv_tests.mk
-rw-r--r-- 1 markw users 298 Apr 19 2000 syslog_test.c
-rw-r--r-- 1 markw users 4989 Mar 27 13:25 testcases
-rw-r--r-- 1 markw users 772 Mar 27 13:26 tester.log
-rwxr-xr-x 1 markw users 3873 Mar 13 16:05 tester.sh
-rw-r--r-- 1 markw users 229 Mar 27 13:26 tmp-tst
-rw-r--r-- 1 markw users 837 Mar 12 13:01 tst-syslogd.c
$ ./busybox ls -l tests/
drwxr-xr-x 2 markw users 4096 Mar 27 13:50 CVS
-rw-r--r-- 1 markw users 675 Aug 21 2000 Makefile
-rw-r--r-- 1 markw users 8944 Dec 11 10:33 cp_tests.mk
-rw-r--r-- 1 markw users 294 Mar 13 13:54 expr
-rw-r--r-- 1 markw users 210 Mar 26 10:07 grep.in
-rw-r--r-- 1 markw users 1423 Mar 4 2000 ln_tests.mk
-rw-r--r-- 1 markw users 1086 Mar 15 15:13 mb.patch
-rwxr-xr-x 1 markw users 2206 Mar 15 15:13 multibuild.pl
-rwxr-xr-x 1 markw users 2414 Mar 15 15:15 multifeat.pl
-rw-r--r-- 1 markw users 3906 Dec 11 10:33 mv_tests.mk
-rw-r--r-- 1 markw users 298 Apr 19 2000 syslog_test.c
-rw-r--r-- 1 markw users 4989 Mar 27 13:25 testcases
-rw-r--r-- 1 markw users 772 Mar 27 13:26 tester.log
-rwxr-xr-x 1 markw users 3873 Mar 13 16:05 tester.sh
-rw-r--r-- 1 markw users 229 Mar 27 13:26 tmp-tst
-rw-r--r-- 1 markw users 837 Mar 12 13:01 tst-syslogd.c
Works fine. Now watch this:
Busybox compiled with BB_FEATURE_HUMAN_READABLE turned on:
$ /bin/ls -l tests/
total 76
drwxr-xr-x 2 markw users 4096 Mar 27 13:50 CVS
-rw-r--r-- 1 markw users 675 Aug 21 2000 Makefile
-rw-r--r-- 1 markw users 8944 Dec 11 10:33 cp_tests.mk
-rw-r--r-- 1 markw users 294 Mar 13 13:54 expr
-rw-r--r-- 1 markw users 210 Mar 26 10:07 grep.in
-rw-r--r-- 1 markw users 1423 Mar 4 2000 ln_tests.mk
-rw-r--r-- 1 markw users 1086 Mar 15 15:13 mb.patch
-rwxr-xr-x 1 markw users 2206 Mar 15 15:13 multibuild.pl
-rwxr-xr-x 1 markw users 2414 Mar 15 15:15 multifeat.pl
-rw-r--r-- 1 markw users 3906 Dec 11 10:33 mv_tests.mk
-rw-r--r-- 1 markw users 298 Apr 19 2000 syslog_test.c
-rw-r--r-- 1 markw users 4989 Mar 27 13:25 testcases
-rw-r--r-- 1 markw users 772 Mar 27 13:26 tester.log
-rwxr-xr-x 1 markw users 3873 Mar 13 16:05 tester.sh
-rw-r--r-- 1 markw users 229 Mar 27 13:26 tmp-tst
-rw-r--r-- 1 markw users 837 Mar 12 13:01 tst-syslogd.c
$ ./busybox ls -l tests/
drwxr-xr-x 2 markw users 4.0k Mar 27 13:50 CVS
-rw-r--r-- 1 markw users 675 Aug 21 2000 Makefile
-rw-r--r-- 1 markw users 8.7k Dec 11 10:33 cp_tests.mk
-rw-r--r-- 1 markw users 294 Mar 13 13:54 expr
-rw-r--r-- 1 markw users 210 Mar 26 10:07 grep.in
-rw-r--r-- 1 markw users 1.3k Mar 4 2000 ln_tests.mk
-rw-r--r-- 1 markw users 1.0k Mar 15 15:13 mb.patch
-rwxr-xr-x 1 markw users 2.1k Mar 15 15:13 multibuild.pl
-rwxr-xr-x 1 markw users 2.3k Mar 15 15:15 multifeat.pl
-rw-r--r-- 1 markw users 3.8k Dec 11 10:33 mv_tests.mk
-rw-r--r-- 1 markw users 298 Apr 19 2000 syslog_test.c
-rw-r--r-- 1 markw users 4.8k Mar 27 13:25 testcases
-rw-r--r-- 1 markw users 772 Mar 27 13:26 tester.log
-rwxr-xr-x 1 markw users 3.7k Mar 13 16:05 tester.sh
-rw-r--r-- 1 markw users 229 Mar 27 13:26 tmp-tst
-rw-r--r-- 1 markw users 837 Mar 12 13:01 tst-syslogd.c
Whoops...
This line in ls.c, line 651 is okay:
fprintf(stdout, "%9s ", make_human_readable_str(dn->dstat.st_size,
(ls_disp_hr==TRUE)? 0: 1));
But the new version of make_human_readable_str never tests the value of the
'hr' param to see if it should human-readable-ify the string or not. (I'd also
recommend that this parm be changed to a more boolean-sounding name, like
make_hr, or some such.)
Mark Whitley
markw@lineo.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic