Eric Andersen
52a3c2726e
Patch from Matt Kraai:
...
sed is broken:
busybox sed -n '/^a/,/^a/p' >output <<EOF
a
b
a
b
EOF
cmp -s output - <<EOF
a
b
a
EOF
The attached patch fixes it.
2003-12-23 08:53:51 +00:00
Glenn L McGrath
00ed36fd52
Patch from Dmitry Zakharov,
...
Fixes two bugs:
- END block didn't execute after an exit() call
- huge memory consumption and performance degradation on large input
(now performance is comparable to gawk)
2003-10-30 13:36:39 +00:00
Eric Andersen
88c916bdec
Andreas Mohr writes:
...
the busybox menuconfig triggered my "inacceptable number of spelling mistakes"
upper level, so I decided to make a patch ;-)
I also improved some wording to describe some things in a better way.
Many thanks for an incredible piece of software!
Andreas Mohr, random OSS developer
2003-10-22 09:58:56 +00:00
Eric Andersen
638da75f4b
Fix some warnings that have crept in recently
2003-10-09 08:18:36 +00:00
Glenn L McGrath
586d86cc8c
Comaptability with gcc-2.95
2003-10-09 07:22:59 +00:00
Glenn L McGrath
42c25735e6
Patch from Rob Landley;
...
Moving on to building diffutils, busybox sed needs this patch to get
past the first problem. (Passing it a multi-line command line argument
with -e works, but if you don't use -e it doesn't break up the multiple
lines...)
2003-10-04 05:27:56 +00:00
Glenn L McGrath
0ad4daa54e
Patch from Rob Landley to fix backrefs
2003-10-01 10:26:23 +00:00
Glenn L McGrath
738fb33994
Patch by Rob Landley, fix "newline after edit command"
2003-10-01 06:45:11 +00:00
Glenn L McGrath
aa5a602689
Patch by Rob Landley, work in progress update, fixes lots of bugs,
...
introduces a few others (but they are being worked on)
2003-10-01 03:06:16 +00:00
Glenn L McGrath
761ec20f81
Fix some typo's, remove some extra free statements
2003-09-24 10:23:39 +00:00
Glenn L McGrath
2570b43e82
Configuration option to define wether to follows GNU sed's behaviour
...
or the posix standard.
Put the cleanup code back the way it was.
2003-09-16 05:25:43 +00:00
Glenn L McGrath
204ff1cea4
Fix a bug that creapt in recently with substitution subprinting, and add
...
a test for it.
2003-09-16 01:46:36 +00:00
Glenn L McGrath
977451ef44
Fix a simple mistake with pattern space, and add a test for it
2003-09-15 12:07:48 +00:00
Glenn L McGrath
e3e28d3bb6
Fix some memory allocation problems
...
----------------------------------------------------------------------
2003-09-15 09:22:04 +00:00
Eric Andersen
8efe967018
Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize)
...
to ensure proper fallback behavior on, i.e. serial consoles.
-Erik
2003-09-15 08:33:45 +00:00
Glenn L McGrath
2eed0e2d47
Add a test for the 'P' command and fix current implementation so it
...
doesnt permanently modify the pattern space.
2003-09-15 06:28:45 +00:00
Glenn L McGrath
6e5687abc3
A test and fix for the sed 'n' command
2003-09-15 06:12:53 +00:00
Glenn L McGrath
73116311e5
Fix for the sed-append-next-line test
2003-09-15 05:42:05 +00:00
Glenn L McGrath
640c1f547f
Fix recursion problem
2003-09-15 04:55:29 +00:00
Glenn L McGrath
294d113adb
Memory cleanups and fix for echo "foo" | sed 's/foo/bar/;H;q'
2003-09-14 16:28:08 +00:00
Glenn L McGrath
8417c8c38b
Cleanup memory usage
2003-09-14 15:24:18 +00:00
Glenn L McGrath
edc388cf4e
The previous fix for 's/a/1/;s/b/2/;t one;p;:one;p' broke the case of
...
echo fooba | ./busybox sed -n 's/foo//;s/bar/found/p'
I really need to start adding these tests to the testsuite.
keep the substituted and altered flags seperate
2003-09-14 08:52:53 +00:00
Glenn L McGrath
3fe475677a
Preserve substitution flag value within the current line.
...
Fixed the following testcase
# cat strings |./busybox sed -n -f test3.sed
1
1
2
c
c
# cat strings
a
b
c
2003-09-14 07:59:28 +00:00
Glenn L McGrath
f4523562b6
Fix branching commands.
...
If a label isnt specified, jump to end of script, not the last command
in the script.
Print an error and exit if you try and jump to a non-existant label
Works for the following testcase
# cat strings
a
b
c
d
e
f
g
# cat strings | ./busybox sed -n '/d/b;p'
a
b
c
e
f
g
2003-09-14 06:01:14 +00:00
Glenn L McGrath
8aac05bfe5
Patch from Rob Landley
...
Fixed a memory leak in add_cmd/add_cmd_str by moving the allocation
of sed_cmd down to where it's actually first needed.
In get_address, if index_of_next_unescaped_regexp_delim ever failed, we
wouldn't notice because the return value was added to idx, which was
already guaranteed to be > 0. (This is buried in the changes made when
I redid get_address to be based on pointer arithmetic, because all the tests
were gratuitously dereferencing with a constant zero, which wasn't obvious.)
Comment in parse_regex_delim was wrong: 's' and 'y' both call it.
The reason "sed_cmd->num_backrefs = 0;" isn't needed is that sed_cmd was
allocated with cmalloc, which zeroes memory.
Different handling of space after \ in i...
Different handling of pattern "s/a/b s/c/d"
Cool, resursive reads don't cause a crash. :)
Fixed "sed -f blah filename - < filename" since GNU sed was handling
both - and filenames on the same line. (You can even list - more than
once, although it's immediate EOF...)
2003-09-14 04:06:12 +00:00
Glenn L McGrath
7c59a83a77
Stupid typo
2003-09-14 02:37:46 +00:00
Glenn L McGrath
4dc1d25a30
Fix some memory allocation problems
2003-09-14 01:25:31 +00:00
Glenn L McGrath
f36635cec6
Fix the following testcase by disabling global substitution if the regex
...
is anchored to the start of line, there can be only one subst.
echo "aah" | sed 's/^a/b/g'
2003-09-13 15:12:22 +00:00
Glenn L McGrath
c18ce373a2
Fix the following testcase by storing the state of the adress match with
...
the command.
# cat strings
a
b
c
d
e
f
g
# ./busybox sed '1,2d;4,$d' <strings
c
# ./busybox sed '4,$d;1,2d' <strings
# sed '4,$d;1,2d' <strings
c
# sed '1,2d;4,$d' <strings
c
2003-09-13 06:57:39 +00:00
Glenn L McGrath
9b04f1841e
Fix the substitution print subcommand, it should only print if its
...
own substitution matched, not previous ones.
e.g
echo fooba | sed -n 's/foo//;s/bar/found/p'
shouldnt print anything
2003-08-30 04:35:07 +00:00
Eric Andersen
9c3c38da55
Patch from Terje Kvernes adding quite a lot of missing documentation
2003-07-22 09:59:34 +00:00
Eric Andersen
cb81e6484d
Update a bunch of docs. Run a script to update my email addr.
2003-07-14 21:21:08 +00:00
Eric Andersen
e5642119ee
Patch from Thomas Cameron:
...
Hello all,
This patch adds more "Help" text to the config system. Almost
all applets now have a help entry. Also, I cleaned up the spacing of
the existing text so that things are consistent. This patch is against
this morning's CVS.
Thomas Cameron
CEI Systems, Inc.
2003-07-14 19:37:08 +00:00
Eric Andersen
65e20a33c2
Patch from Kent Robotti adding a bunch of needed docs!
...
-Erik
2003-07-05 07:52:35 +00:00
Glenn L McGrath
655d814d75
New applet: patch, applies a unified diff
2003-06-22 15:32:41 +00:00
Glenn L McGrath
91e1978ff0
New commands, 'G' and 'H'
2003-04-26 07:40:07 +00:00
Glenn L McGrath
fc4cb4dbb5
Fix logic error in grouped commands
2003-04-12 16:10:42 +00:00
Glenn L McGrath
d4185b0e15
Fix up indenting
2003-04-11 17:10:23 +00:00
Glenn L McGrath
d7fe39b587
Really fix the 'r' command
2003-04-09 15:52:32 +00:00
Glenn L McGrath
d87a7ac269
Fix the sed 'r' command
2003-04-09 15:26:14 +00:00
Glenn L McGrath
2410386611
fix substitution when replacing with &, we shouldnt check for an escape charcter. Its already been taken care of _somewhere_ else
2003-04-09 07:51:43 +00:00
Glenn L McGrath
bd9b32bc0d
Label ends at a newline, update comments, rename linked list field
2003-04-09 01:43:54 +00:00
Glenn L McGrath
8d6395d41a
Run through indent
2003-04-08 11:56:11 +00:00
Glenn L McGrath
c1d95076f0
Fixes block commands to correctly identify end of block, recognise the #n directive, fix substitue command when regex isnt specified
2003-04-08 06:42:45 +00:00
Glenn L McGrath
7ce9e247f0
Add hold space commands 'g', 'h', 'x'
2003-04-07 16:04:14 +00:00
Glenn L McGrath
c6adada158
Rename "line" to pattern_space to be more descriptive and closer to the POSIX description
2003-04-07 12:24:44 +00:00
Glenn L McGrath
9a52bb6878
Group common string
2003-03-30 09:38:40 +00:00
Glenn L McGrath
30b47df86b
Small fix for sed 'y' command
2003-03-30 08:40:09 +00:00
Glenn L McGrath
f01b46d7dd
sed 'y' command, simplify some other code
2003-03-30 08:02:18 +00:00
Glenn L McGrath
0c51832b60
Experimental support for embeded newline. (im evil)
...
Fix segfault when using 'N' with an odd number of lines.
2003-03-30 03:41:53 +00:00
Glenn L McGrath
a0f0f0cf76
Still fine tunning the printing of the substitute command
2003-03-28 14:11:34 +00:00
Glenn L McGrath
595a6a4199
sed 't' branching command
2003-03-28 08:36:52 +00:00
Glenn L McGrath
ccd43a8301
Fix sed 's' command's 'p' flag, so it can print line twice
2003-03-28 07:44:03 +00:00
Glenn L McGrath
b08e3e8c2e
fix q command
2003-03-28 04:57:52 +00:00
Glenn L McGrath
961c6c19da
Add basic branching support, sed ':' and 'b' commands
2003-03-28 04:43:39 +00:00
Glenn L McGrath
56c633c139
make sed cleanup use linked list
2003-03-28 04:23:23 +00:00
Glenn L McGrath
c949bfa555
Use a linked list for sed commands in preparation for branching support
2003-03-28 03:53:31 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
e01f9662a5
Match newlines, this fixes matching of ^ or $ when there is a '\n' in the pattern being matched. This fixes cases when the N command is used.
2003-03-18 08:37:57 +00:00
Glenn L McGrath
2971ef1730
Fix a bug that corrupted the string followed commands that had no arguments ( Closes #1304 )
2003-03-18 01:19:23 +00:00
Glenn L McGrath
4157a8a71e
fix n, add N, P
2003-03-10 04:12:35 +00:00
Glenn L McGrath
ff724fb076
add the 'n' command
2003-03-10 02:56:56 +00:00
Glenn L McGrath
bed4033e96
Add the q (quit) option
2003-03-10 02:21:14 +00:00
Glenn L McGrath
f3bd7c4631
Fix a delimiter matching bug i introduced.
2003-03-09 15:40:40 +00:00
Glenn L McGrath
f50ce3135f
Support grouped commands, i.e. {cmd1;cmd2}
2003-03-09 15:12:24 +00:00
Glenn L McGrath
4c6523a90b
alloc array for commands, use string ptr in parse_command_string()
2003-03-09 11:06:38 +00:00
Glenn L McGrath
e7a8bc949b
use typedef for struct sed_cmd
2003-03-09 10:23:57 +00:00
Glenn L McGrath
1fb446795d
redo get_addres(). save some space. possible fix a bug where the command might be set to 0 if no second address is given. dont parse sed_cmd struct to get_address, we only need the delim field.
2003-03-09 08:44:49 +00:00
Glenn L McGrath
2f8a401772
Woops, remove the code i didnt mean to commit
2003-03-09 02:44:49 +00:00
Glenn L McGrath
d5eadea970
Mention the opengroup sed reference, add a check which is disabled at present.
2003-03-09 02:39:29 +00:00
Glenn L McGrath
505bd0f15a
Fix matching for the $ address (last line)
2003-03-08 05:21:02 +00:00
Glenn L McGrath
0a65e190f4
Support the '=' command
2002-12-23 10:16:12 +00:00
Eric Andersen
c9f20d9fb9
Yet another major rework of the BusyBox config system, using the considerably
...
modified Kbuild system I put into uClibc. With this, there should be no more
need to modify Rules.mak since I've moved all the interesting options into the
config system. I think I've got everything updated, but you never know, I may
have made some mistakes, so watch closely.
-Erik
2002-12-05 08:41:41 +00:00
Glenn L McGrath
7127b58baa
Fix crashme code, by Jim Treadway
2002-12-03 21:48:15 +00:00
Glenn L McGrath
09adaca37d
last_patch_69, 8 bit clean and other fixes from Vladimir N. Oleynik
2002-12-02 21:18:10 +00:00
Aaron Lehmann
a170e1c858
Change if(x)free(x); to free(x);
2002-11-28 11:27:31 +00:00
Glenn L McGrath
d4036f86e5
Use erorr_msg( isntead of fprintf(stderr,
2002-11-28 09:30:40 +00:00
Glenn L McGrath
545106f8db
Move awk from textutils to editors. Cleanup run-parts, saves 200 bytes, moves the guts of run_parts to libbb to be used by ifupdown.
2002-11-11 06:21:00 +00:00
Eric Andersen
fda2b7ff47
A patch from Jouni Malinen to avoid some buffer overflows in vi,
...
closing bug #1270
2002-10-26 10:19:19 +00:00
Aaron Lehmann
6fdacc74f0
vi inlining
2002-08-21 13:02:24 +00:00
Robert Griebl
00f5ecb141
Somehow I applied an old patch for the last commit - this one works now:
...
- Added \CregexC support to sed (sed testsuite reported no errors, btw)
2002-08-06 23:13:31 +00:00
Robert Griebl
7940147e25
Added the \CregexpC syntax as an alternative for /regexp/ (like GNU sed)
2002-08-06 21:07:17 +00:00
Robert Griebl
a71389bfe8
Applied a patch from Philip Blundell <pb@nexus.co.uk>:
...
Added support for ":x" as an alias for ":wq" to vi
2002-07-31 21:22:21 +00:00
Eric Andersen
2276d83639
Fixup warnings and undefined operations that show up in gcc-3.1
...
-Erik
2002-07-11 11:11:56 +00:00
Robert Griebl
47abc49c4a
Patch from Simon Krahnke:
...
I wrote a patch for busybox for our company's (www.lisa.de)
private use. [...] To sed it adds the '!'-inversion of addresses.
2002-06-11 23:43:27 +00:00
Tim Riker
86c76a9c2a
fix from kergoth
2002-04-26 07:41:22 +00:00
Eric Andersen
85208e2ab9
Completely rework the config system so that it no longer annoys me to work on
...
the busybox development tree. This eliminates the use of recursive make, and
once again allows us to run 'make' in a subdirectory with the expected result.
And things are now much faster too. Greatly improved IMHO...
-Erik
2002-04-12 12:05:57 +00:00
Matt Kraai
5c69cd84ff
* editors/sed.c (process_file): Stop processing deleted lines.
...
* testsuite/sed/sed-does-not-substitute-in-delete-line: New.
2002-04-01 16:17:37 +00:00
Matt Kraai
9eaf059d28
* editors/sed.c (parse_cmd_str): Remove redundant code to skip initial
...
whitespace.
2002-01-03 21:19:19 +00:00
Matt Kraai
5ed78adca5
* editors/sed.c (parse_edit_cmd): Rewrite.
...
* testsuite/sed/sed-splits-edit-commands-on-command-line: New.
2002-01-03 21:12:34 +00:00
Matt Kraai
d21735de2d
* editors/sed.c (parse_edit_command): Require a newline after the backslash
...
after an edit command.
* testsuite/sed/sed-requires-newline-after-edit-command: New.
2002-01-02 17:56:38 +00:00
Matt Kraai
70624846fd
Ignore blanks before the first address and before the command.
2001-12-21 16:04:12 +00:00
Matt Kraai
1f0c43668a
Remove == TRUE' tests and convert
!= TRUE' and `== FALSE' tests to use !.
2001-12-20 23:13:26 +00:00
Matt Kraai
0c390a76fe
Eliminate warning.
2001-11-20 16:00:19 +00:00
Eric Andersen
9c6b5fcb0a
Minor warning cleanups
2001-11-17 07:23:46 +00:00
Eric Andersen
bff7a60f63
Patch from "Andrew Tipton" <andrew@cadre5.com> to enable vi cursor
...
keys while editing.
2001-11-17 07:15:43 +00:00
Eric Andersen
80f5ac7016
Patch from Steve Merrifield <steve@labyrinth.net.au> to make vi
...
use xmalloc
2001-11-17 06:57:42 +00:00
Matt Kraai
c8227639db
Change strdup calls to xstrdup (patch from Steve Merrifield).
2001-11-12 16:57:27 +00:00
Matt Kraai
a5f09c668e
Use fopen wrapper.
2001-11-12 16:44:55 +00:00
Eric Andersen
c52a6b0f10
|2001-10-08 Rodney Brown <rbrown64@csc.com.au>
...
|
| * editors/sed.c: Fix multiline [aic] commands. Make # an endline
| comment for compatibility. Codespace reduction.
| * tests/testcases: Cope with move to subdirectories.
| * testsuite/sed/sed-aic-commands: Add.
|
| text data bss dec hex filename
| 3772 16 0 3788 ecc editors/sed.o
| 4516 16 0 4532 11b4 editors/sed.o.bu
2001-11-10 10:49:42 +00:00