aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/sed.c
AgeCommit message (Collapse)Author
2015-11-05Fix sed bug where any ] right after [ was skipped, not just first one in range.Rob Landley
2015-10-29Fix sed bug reported by Isabella Parakiss, where sed -e "/x/c\" -e "y" addedRob Landley
an extra newline because the test for whether we have an existing string to append a newline to was checking if struct step had data appended to it, and the /x/ regex is data appended to it. Change test to check for null terminator at ->arg1 offset.
2015-03-28Fix sed bug David Halls hit trying to compile libiconv.Rob Landley
2015-03-06sed depends on -r to be rightmost flag to simplify the REG_EXTENDED test.Rob Landley
(If a flag is 1, you can multiply it by the value you want and get that value else zero without a branch or conditional assignment.) So move -E one to the left so FLAG_r is 1 again, and add a [+Er] suffix instead of testing FLAG_r | FLAG_E in the users.
2015-03-02On 64 bit, subtracting two pointers produces a long result. On 32 bit, it's ↵Rob Landley
an int. Even though long _is_ 32 bits on a 32 bit systems, gcc warns about it because reasons. Also, the warning being that "expects int, but type is wchar_t"... no, type is not wchar_t. Type is probably long. Specify the ACTUAL TYPE, not the random typedef alias for it. If the translated type _did_ match, there wouldn't be a warning! (This is why c89 promoted all arguments to int, precisely so this wasn't a problem.)
2015-02-28BSD sed uses -E instead of -r to enable ERE.Isabella Bosia
GNU sed silently supports -E as an alias for -r too.
2015-01-22Fix sed s//\[newline]/ line continuations.Rob Landley
The problem was that readline() was returning a newline at the end of each string, which wasn't getting stripped in the parser and thus \ wasn't at the end of a line for -f, it was escaping a literal newline, so the continuation logic didn't trigger. Remove some redundant null checks while we're at it, and don't bother terminating a string we don't return (yes we leak memory in an error path, but it's about to error_exit() anyway).
2015-01-13sed bugfix: N or n at end of script would save the terminating NULL as the ↵Rob Landley
resume position, so the script would restart from beginning.
2015-01-13sed s/// can have line continuations in the replacement part, with or ↵Rob Landley
without a \ escaping the newline.
2015-01-04Fix sed backslash parsing in square bracket pattern sections.Rob Landley
2014-12-22sed 'r' didn't work right.Rob Landley
2014-12-21Another sed bug. (The e2fsprogs build uses multiple line continuations on ↵Rob Landley
the same command.)
2014-12-21Promote sed to posix.Rob Landley
2013-02-22Move some unfinished commands to the "pending" directory.Rob Landley
2012-11-13Reindent to two spaces per level. Remove vi: directives that haven't worked ↵Rob Landley
right in years (ubuntu broke its' vim implementation). Remove trailing spaces. Add/remove blank lines. Re-wordwrap in places. Update documentation with new coding style. The actual code should be the same afterward, this is just cosmetic refactoring.
2012-10-08New build infrastructure to generate FLAG_ macros and TT alias, #define ↵Rob Landley
FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
2012-08-25Regularize command headers, update links to standards documents.Rob Landley
2012-08-25Move commands into "posix", "lsb", and "other" menus/directories.Rob Landley