[Toybox] strings tests and bugfixes
Ilya Kuzmich
ilya.kuzmich at gmail.com
Wed Jun 14 06:04:43 PDT 2017
ping?
On 01/06, Ilya Kuzmich wrote:
> On 01/06, Rob Landley wrote:
> > On 05/28/2017 11:25 PM, Ilya Kuzmich wrote:
> > > Found and fixed some strings bugs. duh.
> >
> > Sorry for the delay, I started a new Japanese class at the local
> > community college (one of those compressed summer session things) and
> > between that and $DAYJOB everything else is mostly just on weekends
> > right now. :)
> >
> > I glanced at this one to see if it was trivial to apply but:
> >
> > - if (nread < 1) break;
> > + if (nread < 1) {
> > + if (count == wlen) xputc('\n');
> > + break;
> > + }
> >
> > We have \n at the end of strings already? Under what circumstances would
> > it _not_ output them?
> >
> > make strings
> > $ diff -u <(./strings strings) <(strings strings) | wc
> > 0 0 0
> current implementation doesn't output newline if last byte does matches:
> if (((toybuf[i] >= 32) && (toybuf[i] <= 126)) || (toybuf[i] == '\t')) {
>
> for example:
>
> $ echo -n 'fooo' | strings
> fooo
> $ echo -n 'fooo' | ./toybox strings
> fooo$
> # note the missing newline
>
> >
> > As for the offset+1 bit...
> >
> > $ ./strings -o strings | head -n 3
> > 567 /lib64/ld-linux-x86-64.so.2
> > 646 g"X7
> > 1600 libc.so.6
> > $ strings -o strings | head -n 3
> > 1070 /lib64/ld-linux-x86-64.so.2
> > 1207 g"X7
> > 3101 libc.so.6
> >
> > I don't see how +1 addresses that? (Or what exactly is going on there.)
> gnu strings use octal offsets by default
> toybox strings use decimal, but one-off:
>
> $ echo fooo | ./toybox strings -o
> -1 fooo
>
> >
> > Rob
More information about the Toybox
mailing list