X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=gv.h;h=54722b7c7575c1266c73e7011d22279c0acdb70e;hb=13.2-releng;hp=caef3da82db1aa16bc1db0007455b5f355f1f46d;hpb=bb85b28a6da36a76a3909c40a8a5f0a80a04163c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/gv.h b/gv.h index caef3da..54722b7 100644 --- a/gv.h +++ b/gv.h @@ -49,7 +49,7 @@ struct gp { assert(!SvVALID(_gvname_hek)); \ &(GvXPVGV(_gvname_hek)->xiv_u.xivu_namehek); \ })) -# define GvNAME_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_KEY(GvNAME_HEK(gv)); }) +# define GvNAME_get(gv) ({ assert(GvNAME_HEK(gv)); (char *)HEK_KEY(GvNAME_HEK(gv)); }) # define GvNAMELEN_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_LEN(GvNAME_HEK(gv)); }) #else # define GvGP(gv) ((gv)->sv_u.svu_gp) @@ -114,6 +114,7 @@ Return the SV from the GV. #define GvFILEGV(gv) (gv_fetchfile(GvFILE(gv))) #define GvEGV(gv) (GvGP(gv)->gp_egv) +#define GvEGVx(gv) (isGV_with_GP(gv) ? GvEGV(gv) : NULL) #define GvENAME(gv) GvNAME(GvEGV(gv) ? GvEGV(gv) : gv) #define GvESTASH(gv) GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv) @@ -167,14 +168,14 @@ Return the SV from the GV. # define Nullgv Null(GV*) #endif -#define DM_UID 0x003 -#define DM_RUID 0x001 -#define DM_EUID 0x002 -#define DM_ARRAY 0x004 -#define DM_GID 0x030 -#define DM_RGID 0x010 -#define DM_EGID 0x020 -#define DM_DELAY 0x100 +#define DM_RUID 0x001 +#define DM_EUID 0x002 +#define DM_UID (DM_RUID|DM_EUID) +#define DM_ARRAY_ISA 0x004 +#define DM_RGID 0x010 +#define DM_EGID 0x020 +#define DM_GID (DM_RGID|DM_EGID) +#define DM_DELAY 0x100 /* * symbol creation flags, for use in gv_fetchpv() and get_*v()