mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 13:39:02 +00:00
Add fallback del_curterm which does nothing, used in preference to BSD curses del_curterm, which seems to do a double-free
darcs-hash:20060511115846-ac50b-8d5fc054d31cff637d30e858ae8ffe2b1d1e8c03.gz
This commit is contained in:
parent
94abb30f94
commit
524e0aa174
3 changed files with 30 additions and 0 deletions
14
configure.ac
14
configure.ac
|
@ -389,6 +389,20 @@ else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if we are using basic BSD curses - in that case we redefine
|
||||||
|
# del_curterm as a no-op, to avoid a double-free
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([If we are using BSD curses])
|
||||||
|
case $target_os in
|
||||||
|
*bsd*)
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_CHECK_LIB( ncurses, del_curterm, true, [AC_DEFINE([HAVE_BROKEN_DEL_CURTERM],[1],[We are using basic BSD curses, redefine del_curterm to a no-op to avoid a double-free bug])])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Tell the world what we know
|
# Tell the world what we know
|
||||||
AC_CONFIG_FILES([Makefile fish.spec doc_src/fish.1 doc_src/Doxyfile etc/fish etc/fish_interactive.fish share/fish seq])
|
AC_CONFIG_FILES([Makefile fish.spec doc_src/fish.1 doc_src/Doxyfile etc/fish etc/fish_interactive.fish share/fish seq])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
|
@ -997,3 +997,11 @@ wcslcpy(wchar_t *dst, const wchar_t *src, size_t siz)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_BROKEN_DEL_CURTERM
|
||||||
|
|
||||||
|
int del_curterm(TERMINAL *oterm)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -271,4 +271,12 @@ size_t wcslcpy( wchar_t *dst, const wchar_t *src, size_t siz );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_BROKEN_DEL_CURTERM
|
||||||
|
|
||||||
|
/**
|
||||||
|
BSD del_curterm seems to do a double-free. We redefine it as a no-op
|
||||||
|
*/
|
||||||
|
int del_curterm(TERMINAL *oterm);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue