freebsd-nq/bin/sh
David E. O'Brien 7cfe69417c Do not assume in growstackstr() that a "precious" character will be
immediately written into the stack after the call.  Instead let the caller
manage the "space left".

Previously, growstackstr()'s assumption causes problems with STACKSTRNUL()
where we want to be able to turn a stack into a C string, and later
pretend the NUL is not there.

This fixes a bug in STACKSTRNUL() (that grew the stack) where:
1. STADJUST() called after a STACKSTRNUL() results in an improper adjust.
   This can be seen in ${var%pattern} and ${var%%pattern} evaluation.
2. Memory leak in STPUTC() called after a STACKSTRNUL().

Reviewed by:	jilles
2010-10-13 23:29:09 +00:00
..
bltin Declare echocmd() and testcmd(). 2005-08-13 15:04:30 +00:00
funcs /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
alias.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
alias.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
arith_lex.l sh: Use stalloc for arith variable names. 2010-04-25 20:43:19 +00:00
arith.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
arith.y sh: Use stalloc for arith variable names. 2010-04-25 20:43:19 +00:00
builtins.def Use -s to flag POSIX's "special built-in" utilities in builtins.def. Add a 2006-04-02 18:43:33 +00:00
cd.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
cd.h sh: On startup of the shell, use PWD from the environment if it is valid. 2010-04-17 14:35:46 +00:00
error.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
error.h sh: Add some __dead2 to indicate functions that do not return. 2009-12-24 20:55:14 +00:00
eval.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
eval.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
exec.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
exec.h sh: Improve the command builtin: 2010-03-06 16:57:53 +00:00
expand.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
expand.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
histedit.c Do not assume in growstackstr() that a "precious" character will be 2010-10-13 23:29:09 +00:00
init.h
input.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
input.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
jobs.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
jobs.h sh: Forget about terminated background processes sooner. 2010-06-29 22:37:45 +00:00
mail.c Consistently use "STATIC" for all functions in order to be able to set 2010-10-13 04:01:01 +00:00
mail.h
main.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
main.h sh: Do not run callers' exception handlers in subshells. 2009-12-25 20:21:35 +00:00
Makefile In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
memalloc.c Do not assume in growstackstr() that a "precious" character will be 2010-10-13 23:29:09 +00:00
memalloc.h Do not assume in growstackstr() that a "precious" character will be 2010-10-13 23:29:09 +00:00
miscbltin.c sh: Fix 'read' if all chars before the first IFS char are backslash-escaped. 2010-09-08 20:35:43 +00:00
mkbuiltins sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mkinit.c sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mknodes.c sh: Fix crash with empty functions (f() { }) introduced in r196483 2009-08-28 22:41:25 +00:00
mksyntax.c sh: Do not use locale for determining if something is a name. 2010-09-03 22:13:54 +00:00
mktokens /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
myhistedit.h sh: Pass TERM changes to libedit. 2010-06-02 19:16:58 +00:00
mystring.c sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mystring.h
nodes.c.pat In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
nodetypes /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
options.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
options.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
output.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
output.h sh: Fix some bugs with backquoted builtins: 2010-01-01 18:17:46 +00:00
parser.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
parser.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
redir.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
redir.h
sh.1 sh(1): Remove xrefs for expr(1) and getopt(1). 2010-09-10 13:40:31 +00:00
shell.h In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
show.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
show.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
TOUR Correct assorted grammos and typos. 2006-04-16 11:54:01 +00:00
trap.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
trap.h sh: Add some __dead2 to indicate functions that do not return. 2009-12-24 20:55:14 +00:00
var.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
var.h sh: Pass TERM changes to libedit. 2010-06-02 19:16:58 +00:00