[Python-checkins] commit of r41449 - python/trunk/Python
neal.norwitz@python.org
neal.norwitz at python.org
Tue Nov 15 06:09:49 CET 2005
Author: neal.norwitz
Date: Tue Nov 15 06:09:44 2005
New Revision: 41449
Modified:
python/trunk/Python/ast.c
Log:
Add a note about how to do the memory deallocation a bit.
This needs a lot of work.
Modified: python/trunk/Python/ast.c
==============================================================================
--- python/trunk/Python/ast.c (original)
+++ python/trunk/Python/ast.c Tue Nov 15 06:09:44 2005
@@ -20,6 +20,26 @@
- syntax errors
*/
+/*
+ Note:
+
+ You should rarely need to use the asdl_seq_free() in this file.
+ If you use asdl_seq_free(), you will leak any objects held in the seq.
+ If there is an appropriate asdl_*_seq_free() function, use it.
+ If there isn't an asdl_*_seq_free() function for you, you will
+ need to loop over the data in the sequence and free it.
+
+ asdl_seq* seq;
+ int i;
+
+ for (i = 0; i < asdl_seq_LEN(seq); i++)
+ free_***(asdl_seq_GET(seq, i));
+ asdl_seq_free(seq);
+
+ Almost all of the ast functions return a seq of expr, so you should
+ use asdl_expr_seq_free(). The exception is ast_for_suite() which
+ returns a seq of stmt's, so use asdl_stmt_seq_free() to free it.
+*/
/* Data structure used internally */
struct compiling {
More information about the Python-checkins
mailing list