Split out core of sv_magic() into sv_magicext().
authorNick Ing-Simmons <nik@tiuk.ti.com>
Fri, 18 Jan 2002 22:11:42 +0000 (22:11 +0000)
committerNick Ing-Simmons <nik@tiuk.ti.com>
Fri, 18 Jan 2002 22:11:42 +0000 (22:11 +0000)
commit92110913508b9944d111285d9488f2f7b604919c
tree5328e9981561128fdf2360147fbe0315dca970e1
parenta398d936ece03108233d87a6ab0b552b6272270a
Split out core of sv_magic() into sv_magicext().
sv_magic provides the extra restictions (no READONLY, only
one of each type, canned set of vtables), and sv_magicext()
does the actual data twiddling.
Also enhances semantics of ->mg_ptr setting via name/namlen
to allow either an uncopied ptr (namlen == 0), or a Newz()ed
scratch area (namlen > 0 && name == NULL).
sv_magicext also returns the MAGIC * it added.
sv_magicext is intended mainly for PERL_MAGIC_ext (~) magic.

To come sv_unmagicext() - which will remove just one magic
of particular type, and additionaly match against ->mg_ptr,
or the MAGIC * (need to experiment as to which is more natural).

p4raw-id: //depot/perlio@14335
embed.fnc
embed.h
global.sym
proto.h
sv.c
util.c