Applied, thank you
On Sat, Aug 21, 2021 at 10:37 AM Ron Yorston <[email protected]> wrote: > > The input buffer is initialised to a reasonable size and extended > if necessary. When this happened the offset into the buffer wasn't > reset to zero so subsequent lines were appended to the long line. > > Fix this and add some tests. > > function old new delta > rev_main 377 368 -9 > ------------------------------------------------------------------------------ > (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-9) Total: -9 bytes > > Signed-off-by: Ron Yorston <[email protected]> > --- > testsuite/rev.tests | 46 +++++++++++++++++++++++++++++++++++++++++++++ > util-linux/rev.c | 1 + > 2 files changed, 47 insertions(+) > create mode 100755 testsuite/rev.tests > > diff --git a/testsuite/rev.tests b/testsuite/rev.tests > new file mode 100755 > index 000000000..dd65dcd3b > --- /dev/null > +++ b/testsuite/rev.tests > @@ -0,0 +1,46 @@ > +#!/bin/sh > +# Copyright 2021 by Ron Yorston > +# Licensed under GPLv2, see file LICENSE in this source tree. > + > +. ./testing.sh > + > +# testing "test name" "commands" "expected result" "file input" "stdin" > + > +testing "rev works" \ > + "rev input" \ > +"\ > +1 enil > + > +3 enil > +" \ > + "line 1\n\nline 3\n" \ > + "" > + > +testing "rev file with missing newline" \ > + "rev input" \ > +"\ > +1 enil > + > +3 enil" \ > + "line 1\n\nline 3" \ > + "" > + > +testing "rev file with NUL character" \ > + "rev input" \ > +"\ > +nil > +3 enil > +" \ > + "lin\000e 1\n\nline 3\n" \ > + "" > + > +testing "rev file with long line" \ > + "rev input" \ > +"\ > ++--------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+--------------- > +cba > +" \ > + > "---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+--------------+\nabc\n" > \ > + "" > + > +exit $FAILCOUNT > diff --git a/util-linux/rev.c b/util-linux/rev.c > index d439b4da8..63b005c67 100644 > --- a/util-linux/rev.c > +++ b/util-linux/rev.c > @@ -109,6 +109,7 @@ int rev_main(int argc UNUSED_PARAM, char **argv) > strrev(buf, strlen(buf)); > #endif > fputs_stdout(buf); > + pos = 0; > } > fclose(fp); > } while (*argv); > -- > 2.31.1 > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
