.\"***************************************************************************
-.\" Copyright 2019-2020,2021 Thomas E. Dickey *
+.\" Copyright 2019-2021,2022 Thomas E. Dickey *
.\" Copyright 2008-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_memleaks.3x,v 1.11 2021/01/02 23:47:51 tom Exp $
+.\" $Id: curs_memleaks.3x,v 1.15 2022/06/04 23:33:48 tom Exp $
.TH curs_memleaks 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.de bP
+.ie n .IP \(bu 4
+.el .IP \(bu 2
+..
.na
.hy 0
.SH NAME
\fBexit_curses\fP,
-\fBexit_terminfo\fP \- \fBcurses\fR memory-leak checking
+\fBexit_terminfo\fP \- \fBcurses\fP memory-leak checking
.ad
.hy
.SH SYNOPSIS
-\fB#include <curses.h>\fR
+\fB#include <curses.h>\fP
.br
-\fBvoid exit_curses(int \fP\fIcode\fP\fB);\fR
+\fBvoid exit_curses(int \fIcode\fB);\fR
.sp
-\fB#include <term.h>\fR
+\fB#include <term.h>\fP
.br
-\fBvoid exit_terminfo(int \fP\fIcode\fP\fB);\fR
+\fBvoid exit_terminfo(int \fIcode\fB);\fR
.sp
/* deprecated (intentionally not declared in curses.h or term.h) */
.br
-\fBvoid _nc_freeall(void);\fR
+\fBvoid _nc_freeall(void);\fP
.br
-\fBvoid _nc_free_and_exit(int \fP\fIcode\fP\fB);\fR
+\fBvoid _nc_free_and_exit(int \fIcode\fB);\fR
.br
-\fBvoid _nc_free_tinfo(int \fP\fIcode\fP\fB);\fR
+\fBvoid _nc_free_tinfo(int \fIcode\fB);\fR
.SH DESCRIPTION
These functions are used to simplify analysis of memory leaks in the ncurses
library.
.SH PORTABILITY
These functions are not part of X/Open Curses;
nor do other implementations of curses provide a similar feature.
+.PP
+In any implementation of X/Open Curses, an application can free part
+of the memory allocated by curses:
+.bP
+The portable part of \fBexit_curses\fP can be freed using \fBdelscreen\fP,
+passing the \fBSCREEN*\fP pointer returned by \fBnewterm\fP.
+.IP
+In some implementations, there is a global variable \fBsp\fP
+which could be used, e.g., if the screen were only initialized
+using \fBinitscr\fP.
+.bP
+The portable part of \fBexit_terminfo\fP can be freed using \fBdel_curterm\fP.
+.IP
+In this case, there is a global variable \fBcur_term\fP which can be
+used as parameter.
.SH SEE ALSO
-\fBcurses\fR(3X).
+\fBcurs_initscr\fP(3X),
+\fBcurs_terminfo\fP(3X).
+\fBcurses\fP(3X).