cvs commit: ponie/perl embed.fnc hv.c hv.h proto.h
[email protected] (Arthur Bergman) 4 Mar 2004 12:10:16 -0000
| Newsgroups | perl.ponie.changes |
|---|---|
| Message-ID | <[email protected]> |
cvsuser 04/03/04 04:10:16
Modified: perl embed.fnc hv.c hv.h proto.h
Log:
Fix HvDATA problem.. can not be used as an lvalue
Revision Changes Path
1.13 +1 -1 ponie/perl/embed.fnc
Index: embed.fnc
===================================================================
RCS file: /cvs/public/ponie/perl/embed.fnc,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -w -r1.12 -r1.13
--- embed.fnc 2 Mar 2004 13:00:21 -0000 1.12
+++ embed.fnc 4 Mar 2004 12:10:16 -0000 1.13
@@ -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 *
1.5 +3 -7 ponie/perl/hv.c
Index: hv.c
===================================================================
RCS file: /cvs/public/ponie/perl/hv.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- hv.c 2 Mar 2004 11:19:40 -0000 1.4
+++ hv.c 4 Mar 2004 12:10:16 -0000 1.5
@@ -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) {
1.5 +2 -1 ponie/perl/hv.h
Index: hv.h
===================================================================
RCS file: /cvs/public/ponie/perl/hv.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- hv.h 2 Mar 2004 12:03:02 -0000 1.4
+++ hv.h 4 Mar 2004 12:10:16 -0000 1.5
@@ -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)
1.13 +1 -1 ponie/perl/proto.h
Index: proto.h
===================================================================
RCS file: /cvs/public/ponie/perl/proto.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -w -r1.12 -r1.13
--- proto.h 2 Mar 2004 13:00:21 -0000 1.12
+++ proto.h 4 Mar 2004 12:10:16 -0000 1.13
@@ -935,7 +935,7 @@
PERL_CALLCONV char** Perl_macro_HvNAME(pTHX_ HV *);
PERL_CALLCONV IV* Perl_macro_XHvTOTALKEYS(pTHX_ HV *);
PERL_CALLCONV NV* Perl_macro_XHvPLACEHOLDERS(pTHX_ HV *);
-PERL_CALLCONV XPVHV** Perl_macro_HvDATA(pTHX_ HV *);
+PERL_CALLCONV XPVHV* Perl_macro_HvDATA(pTHX_ HV *);
PERL_CALLCONV SV*** Perl_macro_AvARRAY(pTHX_ AV *);
PERL_CALLCONV U8* Perl_macro_AvFLAGS(pTHX_ AV *);