[PATCH] make t/op/undef.t pass
[email protected] (Nicholas Clark) Thu, 4 Mar 2004 03:50:26 +0000
| Newsgroups | perl.ponie.dev |
|---|---|
| Message-ID | <[email protected]> |
With the following patch t/op/undef.t passes. I'm not sure if anything else
that was failing now passes, but I even with this patch I (still) can't get
Dynaloader to build.
I wondered if something analogous changed in av.c would solve things, but
I can't spot any similar problems.
Needs a regen headers.
Nicholas Clark
Index: embed.fnc
===================================================================
RCS file: /cvs/public/ponie/perl/embed.fnc,v
retrieving revision 1.12
diff -d -u -r1.12 embed.fnc
--- embed.fnc 2 Mar 2004 13:00:21 -0000 1.12
+++ embed.fnc 4 Mar 2004 03:43:38 -0000
@@ -977,7 +977,7 @@
Ap |char** |macro_HvNAME |HV *
Ap |IV* |macro_XHvTOTALKEYS |HV *
Ap |NV* |macro_XHvPLACEHOLDERS |HV *
-Ap |XPVHV** |macro_HvDATA |HV *
+Ap |XPVHV* |macro_HvDATA |HV *
Ap |SV*** |macro_AvARRAY |AV *
Ap |U8*|macro_AvFLAGS |AV *
Index: hv.h
===================================================================
RCS file: /cvs/public/ponie/perl/hv.h,v
retrieving revision 1.4
diff -d -u -r1.4 hv.h
--- hv.h 2 Mar 2004 12:03:02 -0000 1.4
+++ hv.h 4 Mar 2004 03:43:38 -0000
@@ -168,7 +168,8 @@
#define HvPMROOT(hv) (* Perl_macro_HvPMROOT (aTHX_ (HV*)(hv)) )
#define HvNAME(hv) (* Perl_macro_HvNAME (aTHX_ (HV*)(hv)) )
-#define HvDATA(hv) (* Perl_macro_HvDATA (aTHX_ (HV*)(hv)) )
+/* Sadly we can't do this as an LVALUE */
+#define HvDATA(hv) (Perl_macro_HvDATA (aTHX_ (HV*)(hv)) )
#define XHvTOTALKEYS(xhv) (xhv->xhv_keys)
#define XHvPLACEHOLDERS(xhv) (xhv->xhv_placeholders)
Index: hv.c
===================================================================
RCS file: /cvs/public/ponie/perl/hv.c,v
retrieving revision 1.4
diff -d -u -r1.4 hv.c
--- hv.c 2 Mar 2004 11:19:40 -0000 1.4
+++ hv.c 4 Mar 2004 03:43:42 -0000
@@ -23,16 +23,12 @@
HE*** Perl_macro_HvARRAY (pTHX_ HV *hv) {
XPVHV* data = (XPVHV*) Parrot_PMC_get_pointer(PL_Parrot, SvANY(hv));
- static HE** he;
- he = (HE**)data->xhv_array;
- return &(he);
+ return (HE***)&data->xhv_array;
}
-XPVHV** Perl_macro_HvDATA (pTHX_ HV *hv) {
- static XPVHV* data;
- data = (XPVHV*) Parrot_PMC_get_pointer(PL_Parrot, SvANY(hv));
- return &(data);
+XPVHV* Perl_macro_HvDATA (pTHX_ HV *hv) {
+ return (XPVHV*) Parrot_PMC_get_pointer(PL_Parrot, SvANY(hv));
}
STRLEN* Perl_macro_HvFILL (pTHX_ HV *hv) {