This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Note usage compatability of Safefree / Newx and friends
authorMatthew Horsfall (alh) <wolfsage@gmail.com>
Wed, 18 Dec 2013 13:59:02 +0000 (08:59 -0500)
committerFather Chrysostomos <sprout@cpan.org>
Wed, 18 Dec 2013 14:25:47 +0000 (06:25 -0800)
handy.h

diff --git a/handy.h b/handy.h
index b63fa59..6b0334e 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -1565,6 +1565,8 @@ typedef U32 line_t;
 =for apidoc Am|void|Newx|void* ptr|int nitems|type
 The XSUB-writer's interface to the C C<malloc> function.
 
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
 In 5.9.3, Newx() and friends replace the older New() API, and drops
 the first parameter, I<x>, a debug aid which allowed callers to identify
 themselves.  This aid has been superseded by a new build option,
@@ -1575,20 +1577,30 @@ there for use in XS modules supporting older perls.
 The XSUB-writer's interface to the C C<malloc> function, with
 cast.  See also C<Newx>.
 
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
 =for apidoc Am|void|Newxz|void* ptr|int nitems|type
 The XSUB-writer's interface to the C C<malloc> function.  The allocated
 memory is zeroed with C<memzero>.  See also C<Newx>.
 
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
 =for apidoc Am|void|Renew|void* ptr|int nitems|type
 The XSUB-writer's interface to the C C<realloc> function.
 
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
 =for apidoc Am|void|Renewc|void* ptr|int nitems|type|cast
 The XSUB-writer's interface to the C C<realloc> function, with
 cast.
 
+Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
+
 =for apidoc Am|void|Safefree|void* ptr
 The XSUB-writer's interface to the C C<free> function.
 
+This should B<ONLY> be used on memory obtained using L<"Newx"> and friends.
+
 =for apidoc Am|void|Move|void* src|void* dest|int nitems|type
 The XSUB-writer's interface to the C C<memmove> function.  The C<src> is the
 source, C<dest> is the destination, C<nitems> is the number of items, and