until the problem gets addressed properly. The following fix
is a stopgap measure to stop the leaking :-(
I fixed the t_getstr() memory leak problem, but that instantly
revealed a problem in t_agetstr() which is an extremely broken
interface. It realloc's memory, potentially moving the area where
it returned pointers into in previous calls. This function needs
to be removed and or changed. I added a horrible work-around for
now, but I will revisit the problem shortly. In the meantime nobody
should be using the t_agetstr() API, and I'll be fixing the rest
of the programs and or the API when I figure out the best solution...
This is t_agetstr() is used by:
games/hack/hack.termcap.c
games/larn/io.c
games/tetris/screen.c
lib/libterm/termcap.c
lib/libterm/termcap.h
libexec/getty/main.c
usr.bin/top/screen.c
usr.bin/ul/ul.c
defined, as <bsd.own.mk> always sets it; also, compare only against "yes"
(not "no") for a yes/no check, as there are two negative states ("no" and
"never").
* Don't return if wait()ing for the child is interrupted.
* Fix a race condition for the parent's SIG{INT,QUIT} disposition.
* While we're here, convert from using signal(3) to sigaction(2).
struct ieee_double, rather than a pointer cast. This seems to enable
GCC 2.95.3 to get the instruction dependencies right (the old one fell
foul of ANSI aliasing rules), and it also generates more sensible code in
general.
If this is the correct solution, it should be applied to the other ports.
If it's not, someone should come up with one that _is_ correct.
- add _PATH_PASSWD_CONF to be consistent with almost all other _PATH_xxx_CONF
defines, and change from using _PATH_PASSWDCONF to the former. keep the
latter for compatibility, although arguably it could be removed because
it was never in a release and was only used in one file in the tree.
#define _DEFAULT_INVALID_RUNE -3
and use it accordingly. Also provides a representation programs such as
mklocale can reference when filling out a new locale from a definition.
isn't the process who created it.
- If a new basename is supplied remove the an old pidfile if it was created
by this process and create a new one as suggested by Jason Thorpe.
This fixes PR lib/13357 by Greg A. Woods.
the USETOOLS=no and !defined(USETOOLS) cases, is not guaranteed to exist.
However, the current functionality overrides any potentially correct
hand-set definition of COMPILE_ET, causing build breakage.
Now the line setting COMPILE_ET only happens if COMPILE_ET is not already
set, like so:
.if !defined(COMPILE_ET)
COMPILE_ET= ${COMPILEETOBJ}/compile_et
.endif