diff --git a/man/curs_memleaks.3x b/man/curs_memleaks.3x
new file mode 100644
index 0000000..a8a4552
--- /dev/null
+++ b/man/curs_memleaks.3x
@@ -0,0 +1,75 @@
+.\"***************************************************************************
+.\" Copyright (c) 2008 Free Software Foundation, Inc.                        *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: curs_memleaks.3x,v 1.1 2008/10/25 23:38:13 tom Exp $
+.TH curs_memleaks 3X ""
+.na
+.hy 0
+.SH NAME
+\fB_nc_freeall\fP
+\fB_nc_free_and_exit\fP - \fBcurses\fR memory-leak checking
+.ad
+.hy
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+.sp
+\fBvoid _nc_freeall(void);\fR
+.br
+\fBvoid _nc_free_and_exit(int);\fR
+.SH DESCRIPTION
+These functions are used to simplify analysis of memory leaks in the ncurses
+library.
+They are normally not available; they must be configured into the library
+at build time using the \fB--disable-leaks\fP option.
+That compiles-in code that frees memory that normally would not be freed.
+.PP
+Any implementation of curses must not free the memory associated with
+a screen, since (even after calling \fBendwin\fP), it must be available
+for use in the next call to \fBrefresh\fP.
+There are also chunks of memory held for performance reasons.
+That makes it hard to analyze curses applications for memory leaks.
+To work around this, one can build a debugging version of the ncurses
+library which frees those chunks which it can, and provides these
+functions to free all of the memory allocated by the ncurses library.
+.PP
+The \fP_nc_free_and_exit\fP function is the preferred one since
+some of the memory which is freed may be required for the application
+to continue running.
+Its parameter is the code to pass to the \fPexit\fP routine.
+.SH RETURN VALUE
+These functions do not return a value.
+.SH PORTABILITY
+These functions are not part of the XSI interface.
+.SH SEE ALSO
+\fBcurses\fR(3X).
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End:
