We no longer pass a PMC pointer into pmc_new, but the comment hasn't been
changed to reflect that. Patch below corrects, and also adds an
appropriate comment for pmc_new_sized.
Simon
--- pmc.c.old Thu Apr 11 18:02:16 2002
+++ pmc.c Thu Apr 11 18:17:30 2002
@@ -16,14 +16,12 @@
#include "parrot/parrot.h"
/*=for api pmc pmc_new
-
- This is the basic function for bootstrapping creation of
- a PMC. Once you have a PMC, you can call its "new" vtable
- entry to get another PMC like it. You may pass in either
- an existing PMC, in which case a new PMC will be created
- using that PMC as a "base", a pointer to some PMC-sized
- memory, or a null pointer, in which case memory will be
- assigned for you.
+
+ Creates a new PMC of type C<base_type> (which is an index into
+ the list of PMC types declared in C<Parrot_base_vtables> in
+ F<pmc.h>). Once the PMC has been successfully created and
+ its vtable pointer initialized, we call its C<init> method to
+ perform any other necessary initialization.
=cut
*/
@@ -59,6 +57,13 @@
return pmc;
}
+/*=for api pmc pmc_new_sized
+
+ As C<pmc_new>, but passes C<size> to the PMC's C<init> method.
+
+=cut
+*/
+
PMC *
pmc_new_sized(struct Parrot_Interp *interpreter, INTVAL base_type, INTVAL size)
{