X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FSub%2FOp.pm;h=20cc912081d5e6f7ea6e7078c90d9f09c2599a09;hb=b9c3a456f75424383f35cb83000965d76e56d4ed;hp=8b7325658143c7f5ac1763b84c11c8a5649ea813;hpb=50984c4a3e39b187b5b52ceeba826bc819d23564;p=perl%2Fmodules%2FSub-Op.git diff --git a/lib/Sub/Op.pm b/lib/Sub/Op.pm index 8b73256..20cc912 100644 --- a/lib/Sub/Op.pm +++ b/lib/Sub/Op.pm @@ -50,12 +50,13 @@ In your XS file : BOOT: { sub_op_config_t c; + sub_op_init(&c); c.name = "reftype"; c.namelen = sizeof("reftype")-1; c.pp = scalar_util_reftype; c.check = 0; c.ud = NULL; - sub_op_register(aTHX_ &c); + sub_op_register(aTHX_ &c, 0); } In your Perl module file : @@ -246,12 +247,26 @@ An optional user data passed to the C callback. =back -=head2 C +=head2 C + +Initializes the fields of the C object. +For future compatibility, it is required to call this function with your config object before storing your actual values. +It will store safe defaults for members you won't set. + +=head2 C Registers a name and its configuration into L. The caller is responsible for allocating and freeing the C object. No pointer to it or to its members is kept. +=head2 C + +Deeply clones the specified C object. + +=head2 C + +Free the memory associated with the specified C object. + =head1 PERL API =head2 C