X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_memleaks.3x.html;h=62f03549d12f2ae9745e727d133a9ff3d9231b91;hp=252a9807a6fc9e25386fc3e67078ff53d1b48230;hb=HEAD;hpb=c55d387cebf1cee4757ca2c2ef4fbeae59ee4175 diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html index 252a9807..085e3aba 100644 --- a/doc/html/man/curs_memleaks.3x.html +++ b/doc/html/man/curs_memleaks.3x.html @@ -1,6 +1,7 @@ - -curs_memleaks 3x +curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls - + -

curs_memleaks 3x

+

curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls

-curs_memleaks(3x)                                            curs_memleaks(3x)
+curs_memleaks(3x)                Library calls               curs_memleaks(3x)
 
 
 
 
 

NAME

-       _nc_freeall, _nc_free_and_exit, _nc_free_tinfo - curses memory-leak
-       checking
+       exit_curses, exit_terminfo - check for memory leaks in curses
 
 
 

SYNOPSIS

        #include <curses.h>
+       void exit_curses(int code);
 
-       void exit_curses(int);
-       void exit_terminfo(int);
+       #include <term.h>
+       void exit_terminfo(int code);
 
-       /* deprecated */
+       /* deprecated (intentionally not declared in curses.h or term.h) */
        void _nc_freeall(void);
-       void _nc_free_and_exit(int);
-       void _nc_free_tinfo(int);
+       void _nc_free_and_exit(int code);
+       void _nc_free_tinfo(int code);
 
 
 

DESCRIPTION

-       These functions are used to simplify analysis of memory  leaks  in  the
-       ncurses library.
+       These  functions  are  used to simplify analysis of memory leaks in the
+       ncurses library.
 
        Any implementation of curses must not free the memory associated with a
-       screen, since (even after calling endwin), it must be available for use
-       in  the next call to refresh(3x).  There are also chunks of memory held
-       for performance reasons.  That makes it hard to analyze curses applica-
-       tions  for memory leaks.  When using the specially configured debugging
-       version of the ncurses library, applications can call  functions  which
-       free  those  chunks  of  memory, simplifying the process of memory-leak
-       checking.
-
-       Some of the functions are named with a "_nc_" prefix because  they  are
+       screen, since (even after calling endwin(3x)), it must be available for
+       use in the next call to refresh(3x).  There are also chunks  of  memory
+       held  for  performance  reasons.   That makes it hard to analyze curses
+       applications for memory leaks.  When  using  the  specially  configured
+       debugging  version  of  the  ncurses  library,  applications  can  call
+       functions which free those chunks of memory, simplifying the process of
+       memory-leak checking.
+
+       Some  of  the functions are named with a "_nc_" prefix because they are
        not intended for use in the non-debugging library:
 
        _nc_freeall
-            This frees (almost) all of the memory allocated by ncurses.
+            This frees (almost) all of the memory allocated by ncurses.
 
        _nc_free_and_exit
-            This frees the memory allocated by ncurses (like _nc_freeall), and
+            This frees the memory allocated by ncurses (like _nc_freeall), and
             exits the program.  It is preferred over _nc_freeall since some of
-            that memory may be required to keep the application running.  Sim-
-            ply exiting (with the given exit-code) is safer.
+            that memory may be  required  to  keep  the  application  running.
+            Simply exiting (with the given exit-code) is safer.
 
        _nc_free_tinfo
-            Use this function if only the low-level  terminfo  functions  (and
+            Use  this  function  if only the low-level terminfo functions (and
             corresponding library) are used.  Like _nc_free_and_exit, it exits
             the program after freeing memory.
 
-       The functions prefixed "_nc" are normally not available; they  must  be
-       configured into the library at build time using the --disable-leaks op-
-       tion.  That compiles-in code that frees memory that normally would  not
-       be freed.
+       The  functions  prefixed "_nc" are normally not available; they must be
+       configured into the library at build  time  using  the  --disable-leaks
+       option.   That  compiles-in  code that frees memory that normally would
+       not be freed.
 
-       The  exit_curses and exit_terminfo functions call _nc_free_and_exit and
-       _nc_free_tinfo if the library  is  configured  to  support  memory-leak
-       checking.   If  the  library  is  not configured to support memory-leak
+       The exit_curses and exit_terminfo functions call _nc_free_and_exit  and
+       _nc_free_tinfo  if  the  library  is  configured to support memory-leak
+       checking.  If the library is  not  configured  to  support  memory-leak
        checking, they simply call exit.
 
 
@@ -108,16 +109,30 @@
 
 
 

PORTABILITY

-       These functions are not part of X/Open Curses; nor do other implementa-
-       tions of curses provide a similar feature.
+       These   functions   are  not  part  of  X/Open  Curses;  nor  do  other
+       implementations of curses provide a similar feature.
+
+       In any implementation of X/Open Curses, an application can free part of
+       the memory allocated by curses:
+
+       o   The  portable  part  of  exit_curses  can be freed using delscreen,
+           passing the SCREEN pointer returned by newterm.
+
+           In some implementations, there is a global variable sp which  could
+           be used, e.g., if the screen were only initialized using initscr.
+
+       o   The portable part of exit_terminfo can be freed using del_curterm.
+
+           In this case, there is a global variable cur_term which can be used
+           as parameter.
 
 
 

SEE ALSO

-       curses(3x).
+       curses(3x), curs_initscr(3x), curs_terminfo(3x)
 
 
 
-                                                             curs_memleaks(3x)
+ncurses 6.5                       2024-03-16                 curs_memleaks(3x)