[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

AltStyle によって変換されたページ (->オリジナル) /