[BusyBox] Issue with strings (1.00-pre10)
Tito
farmatito at tiscali.it
Wed Apr 14 14:48:55 UTC 2004
On Wednesday 14 April 2004 11:03, Ian Latter wrote:
> Hello,
>
> I put this off; I've seen the same issue in pre8,pre9 and pre10, but
> I've just confirmed the fix.
>
> In my distro, I have busybox running fine, except that;
>
> strings /README
> busybox strings /README
> cat /README | busybox strings
>
> (where README is a plain text file -- not at this is important)
> all produce "strings" output, except where inserted between
> the 4th and 5th chars are a dollar sign, yen sign and an at
> sign, on every row -- consistent across all builds in the past
> two months or so.
>
> The same binary on my RedHat9 dev box does not produce
> this error (just nice clean strings output)
>
> However, the strings buffer is n=4 (-1). Removing the
> comment on miscutils/strings.c line 70 (string[n]=`!
>
>
Hi Ian,
this works fine for me!!!
root at localhost:/dev/pts/1:/rep/busybox-1.00-pre8# ./busybox strings /README
Please see the LICENSE file for details on copying and usage.
snip
also this works
root at localhost:/dev/pts/1:/rep/busybox-1.00-pre8# ./busybox strings /README
Please see the LICENSE file for details on copying and usage.
snip
and this works too.
cat /README |./busybox strings -f
{standard input}: Please see the LICENSE file for details on copying and usage.
snip
Same thing for busybox-1.00-pre10.
Even if running an extensive test with the following script:
#!/bin/bash
# Test for files
a=0
echo "Testing Busybox strings applet vs real strings."
echo "Test n°1: strings -afo file."
for dir in /bin /sbin /usr/bin /usr/sbin
do
for i in `ls -1 $dir`
do
strings -af -t o $dir/$i > /tmp/out1.txt
./busybox strings -afo $dir/$i > /tmp/out2.txt
diff /tmp/out1.txt /tmp/out2.txt
if [ $? == 1 ] ; then
a=1
fi
done
done
if [ $a == 0 ] ; then
echo "PASSED"
else
echo "FAILED"
fi
a=0
echo "Test n°2: ls | strings -ao."
for dir in /bin /sbin /usr/bin /usr/sbin
do
for i in `ls -1 $dir`
do
ls -1 /bin/ | strings -a -t o > /tmp/out1.txt
ls -1 /bin/ | ./busybox strings -ao > /tmp/out2.txt
diff /tmp/out1.txt /tmp/out2.txt
if [ $? == 1 ]; then
a=1
fi
done
done
if [ $a == 0 ] ; then
echo "PASSED"
else
echo "FAILED"
fi
rm -f /tmp/out1.txt /tmp/out2.txt
#end of script
I cannot see differences with the output of the real strings program.
Testing Busybox strings applet vs real strings.
Test n°1: strings -afo file.
PASSED
Test n°2: ls | strings -ao.
PASSED
So it seems to me that there must be something different on your system (?).
Best regards and
Ciao,
Tito
More information about the busybox
mailing list