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 *);