Home | History | Annotate | Download | only in sed
History log of /src/usr.bin/sed/compile.c
RevisionDateAuthorComments
 1.55  03-Jun-2025  martin PR 59453: fix off by one in escape sequences length check
 1.54  02-Jun-2025  christos Also stop after 2 characters for hex, and 3 for octal and decimal.
 1.53  02-Jun-2025  christos simplify
 1.52  02-Jun-2025  christos PR/59453: Christoph Badura: Don't keep accumulating characters when parsing
\[xod] escapes if the value exceeds the value a character can hold.
 1.51  20-Jan-2023  msaitoh s/delimeter/delimiter/ in comment.
 1.50  13-Mar-2021  christos Handle \t too (RVP)
 1.49  11-Mar-2021  christos remove extra increment; fixes: echo o | sed -e 's/o/\a/'
 1.48  05-Oct-2019  christos Recognize \oOOO \dDD \xXX plus the other regular 'C' backslash escapes like
gnu sed does, except when inside regex []. (Gnu sed translates those too,
unless --posix is specified).
 1.47  05-Apr-2016  christos branches: 1.47.16;
PR/49872:Yorick Hardy: sed functions 'i' and 'a' discard leading white space
FIxed as suggested, behavior now matches gnu-sed.
 1.46  12-Mar-2015  christos The latest refactoring changes broke sed -i:
cd /tmp; echo foo > test; sed -i.orig s,fo,ba, test
Back them out until they are fixed.
 1.45  01-Mar-2015  asau Move run-time data structures into processing part.
 1.44  28-Feb-2015  asau Improve modularity of "sed" source:
- move program source input subroutines into compiler part;
- move data I/O subroutines into processor part.
 1.43  26-Jun-2014  christos restore sccsid[]'s per core@'s decision
 1.42  06-Jun-2014  joerg usage is __dead. Kill useless sccsid.
 1.41  06-Jun-2014  christos Merge our changes.
 1.40  05-May-2014  christos Handle a closing brace at the end of a command without a preceding semi-colon:
/foo/ {p;d}
 1.39  28-Jun-2013  joerg branches: 1.39.4;
Fix violations of the sequence point rule.
 1.38  14-Dec-2012  msaitoh Fix memory leak.
 1.37  19-Feb-2010  tnn branches: 1.37.6; 1.37.8; 1.37.12;
Merge the following revisions from OpenBSD to let sed(1) handle
arbitrarily long lines (closes our PR bin/42261).
openbsd/usr.bin/sed/extern.h 1.5
openbsd/usr.bin/sed/main.c 1.13-1.15
openbsd/usr.bin/sed/misc.c 1.8
openbsd/usr.bin/sed/compile.c 1.25-1.28
openbsd/usr.bin/sed/defs.h 1.4
 1.36  13-Apr-2009  lukem Fix WARNS=4 issues (-Wcast-qual -Wsign-compare)
 1.35  17-Apr-2007  christos branches: 1.35.20;
provide _POSIX2_LINE_MAX if not there.
 1.34  18-Jun-2006  gdamore branches: 1.34.4;
Make TOOL_SED, to allow using our own sed in cases where the host's version
is busted in some way.

The TOOL_SED doesn't use TIOCGWINSIZE, and has some changes to include
nbtool_config.h in a cross build environment.

Combined with some other changes (not yet committed), this allows cross
compiling m68k code on Solaris 10/amd64.
 1.33  11-May-2006  mrg branches: 1.33.2;
when calling compile_tr() add (void *) to the 2nd argument's cast chain.
 1.32  02-Apr-2006  christos Coverity CID 878: Remove impossible tests against NULL pointers.
 1.31  17-Nov-2004  matt When adding text due to an a, c, or i command, don't eat the space(s) at
the beginning of the lines since the addition is supposed to be "verbatim".
Fix a comment for compile_text indicating it's also used for the 'c' command.
 1.30  09-Jul-2004  enami Yet another s/xmalloc/xrealloc/ so that large multi line text
can be added.
 1.29  09-Jul-2004  mycroft xmalloc()->xrealloc() so that patterns larger than _POSIX2_LINE_MAX*2-1 work.
 1.28  13-Jun-2004  grant apply patch in PR to avoid writing to unallocated memory.

fixes PR bin/25911 from SHIMIZU Ryo.
 1.27  13-Jun-2004  grant apply patch in PR to fix argument parsing bug.

fixes PR bin/24234 from Keisuke YOSHIDA.
 1.26  12-Jun-2004  minskim Fix a bug that made sed(1) fail if the last character of the line
buffer was a backslash. This closes PR bin/25899.

Patch was borrowed from FreeBSD. Their log says:

Fix a bug in sed(1)'s "s" command wherein if an escape ("\"
character) was initiated at the last character of the line buffer,
the Wrong Thing was done and sed barfed by interpreting the
following NUL byte as a digit. Instead, pull up the next buffer
and record that the "\" was last seen.

OK'ed by jmc@.
 1.25  07-Aug-2003  agc branches: 1.25.2;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.24  14-Jun-2002  wiz Remove #if __STDC__. De-__P() and ANSIfy.
 1.23  11-Jun-2002  itojun err/errx/warn/warnx do not need \n at the end
 1.22  26-Feb-2002  wiz branches: 1.22.2;
Correct spelling of "delimiter", and remove from ignored-errors lists.
 1.21  23-Jan-2002  atatat Add a -E flag to ed(1) and sed(1) so that they can use extended
regular expressions instead of just basic regular expressions.
 1.20  14-Jan-2002  kleink Accept empty commands separated by semicolons; from Aymeric Vincent in
PR standards/15231.
 1.19  19-Dec-1998  christos char -> unsigned char
 1.18  08-Dec-1998  drochner avoid malloc(0)
 1.17  19-Oct-1997  lukem WARNSify, fix .Nm usage, deprecate register, getopt returns -1 not EOF
 1.16  19-Oct-1997  mrg merge lite-2 -- was mostly already done. grr.
 1.15  09-Jan-1997  tls RCS ID police
 1.14  09-Mar-1995  mycroft Compile group commands differently, using a stack rather than calling the
parser recursively. Don't throw away commands after an end group.
 1.13  15-Nov-1994  mycroft Fix thinko in previous commit.
 1.12  09-Nov-1994  mycroft Fix core dump on end of group reported by John Kohl, in a different way.
 1.11  17-Apr-1994  alm branches: 1.11.2;
echo hello | ./sed 'sl[l]lxl'
historically outputs:
hexlo
 1.10  03-Feb-1994  cgd RCS id's
 1.9  03-Feb-1994  cgd update from Diomidis Spinellis <dspin@leon.nrcps.ariadne-t.gr>
 1.8  05-Dec-1993  mycroft Further patch by Havard Eidnes <Havard.Eidnes@runit.sintef.no> to avoid access
to uninitialized memory.
 1.7  20-Nov-1993  mycroft From: Thomas Eberhardt <thomas@mathematik.uni-Bremen.de>
Patch to prevent core dumping when linked dynamically.
 1.6  04-Nov-1993  andrew make with -DHISTORIC_PRACTICE to obtain the common EOF behavior of the "n"
command. Don't be fussy about requiring spaces after the "w" command
though.
 1.5  13-Aug-1993  alm removed GNU_REGEX directive
catch infinite substitution for the following cases:
echo hi | sed 's/$/a/g' (prints hia)
echo hi | sed 's/h*/x/g' (terminates with error: infinite substitution)
 1.4  01-Aug-1993  mycroft Add RCS identifiers.
 1.3  16-Jun-1993  alm fixed regex initialization
 1.2  27-May-1993  alm Fixed some regex bugs in sed
Added a regresssion test, compile.c.test
 1.1  13-Apr-1993  alm branches: 1.1.1;
added Berkeley sed with mods to use GNU regex
 1.1.1.2  06-Jun-2014  christos import today's FreeBSD sed.
 1.1.1.1  28-Apr-1995  mrg 4.4BSD-Lite2
 1.11.2.1  29-Nov-1994  cgd patch 6: fix core dump on end of group. from charles.
 1.22.2.1  14-Jun-2004  jmc Pullup rev 1.26-1.28 (requested by grant in ticket #1710)

sed(1) fixes for PR#25899, PR#24234, PR#25911
 1.25.2.3  30-Aug-2004  tron branches: 1.25.2.3.2;
Pull up revision 1.30 (requested by manu in ticket #795):
Yet another s/xmalloc/xrealloc/ so that large multi line text
can be added.
 1.25.2.2  30-Aug-2004  tron Pull up revision 1.29 (requested by manu in ticket #795):
xmalloc()->xrealloc() so that patterns larger than _POSIX2_LINE_MAX*2-1
work.
 1.25.2.1  14-Jun-2004  jmc Pullup rev 1.26-1.28 (requested by grant in ticket #494)

sed(1) fixes for PR#25899, PR#24234, PR#25911
 1.25.2.3.2.1  06-Feb-2005  jmc Pullup rev 1.31 (requested by matt in ticket #982)

When adding text due to an a, c, or i command, don't eat the space(s) at
the beginning of the lines since the addition is supposed to be 'verbatim'.
Fix a comment for compile_text indicating it's also used for the 'c'
command.
 1.33.2.1  19-Jun-2006  chap Sync with head.
 1.34.4.1  18-Nov-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #1224):
usr.bin/sed/compile.c: revision 1.35
provide _POSIX2_LINE_MAX if not there.
 1.35.20.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.37.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.37.12.1  25-Feb-2013  tls resync with head
 1.37.8.1  25-Dec-2012  snj Pull up following revision(s) (requested by msaitoh in ticket #764):
usr.bin/sed/compile.c: revision 1.38
Fix memory leak.
 1.37.6.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.37.6.1  23-Jan-2013  yamt sync with head
 1.39.4.1  10-Aug-2014  tls Rebase.
 1.47.16.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed