In B.xs, tidy up make_*_object().
authorNicholas Clark <nick@ccl4.org>
Sun, 24 Oct 2010 16:02:25 +0000 (17:02 +0100)
committerNicholas Clark <nick@ccl4.org>
Sun, 24 Oct 2010 16:24:13 +0000 (17:24 +0100)
commit9496d2e548aadd4a58a96a97fd8ee033d8c2c8ea
tree6e7c8716b9c4c5340a9dbe9997ada502ca1683ee
parent8c5b7c71cac94d2c88b24f50345e81080ffdf55d
In B.xs, tidy up make_*_object().

All callers to make_temp_object, make_warnings_object and make_cop_io_object
pass in a new mortal, so remove the first argument from all 3 and generate the
mortal within them.

Allow a NULL first argument for make_sv_object - generate a new mortal in this
case.

Ideally we'd remove its first argument too, but currently the output typemap
causes code to be generated that first assigns a new mortal to ST(0), then
passes that to make_sv_object(), and it's not obvious how to trivially fix
that.
ext/B/B.xs