From: Gurusamy Sarathy Date: Sun, 2 Aug 1998 03:54:15 +0000 (+0000) Subject: PERL_OBJECT bincompat fixes from Douglas Lankshear X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d0c1b09914232704f6b96cb95b97b2f6a1c10913;p=p5sagit%2Fp5-mst-13.2.git PERL_OBJECT bincompat fixes from Douglas Lankshear Date: Wed, 29 Jul 1998 10:45:31 -0700 Message-ID: <000101bdbb18$ae767550$a32fa8c0@tau.Active> Subject: [PATCH 5.005_01] Fixes binary compatibility for PERL_OBJECT -- Date: Sat, 1 Aug 1998 09:33:19 -0700 Message-ID: <000701bdbd6a$17ada180$a32fa8c0@tau.Active> Subject: [PATCH 5.005_01] p4raw-id: //depot/maint-5.005/perl@1685 --- diff --git a/perl.h b/perl.h index e2b34bc..c5597aa 100644 --- a/perl.h +++ b/perl.h @@ -1989,6 +1989,12 @@ typedef void *Thread; #endif #ifdef PERL_OBJECT +/* + * The following is a buffer where new variables must + * be defined to maintain binary compatibility with PERL_OBJECT + * for 5.005 + */ +PERLVAR(object_compatibility[30], char) }; #include "objpp.h" diff --git a/proto.h b/proto.h index d8226cd..5da657b 100644 --- a/proto.h +++ b/proto.h @@ -5,6 +5,11 @@ START_EXTERN_C #endif +/* NOTE!!! When new virtual functions are added, they must be added at + * the end of this file to maintain binary compatibility with PERL_OBJECT + */ + + #ifndef NEXT30_NO_ATTRIBUTE #ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */ #ifdef __attribute__ /* Avoid possible redefinition errors */ @@ -527,13 +532,9 @@ VIRTUAL void sv_add_arena _((char* ptr, U32 size, U32 flags)); VIRTUAL int sv_backoff _((SV* sv)); VIRTUAL SV* sv_bless _((SV* sv, HV* stash)); VIRTUAL void sv_catpvf _((SV* sv, const char* pat, ...)); -VIRTUAL void sv_catpvf_mg _((SV *sv, const char* pat, ...)); VIRTUAL void sv_catpv _((SV* sv, char* ptr)); -VIRTUAL void sv_catpv_mg _((SV *sv, char *ptr)); VIRTUAL void sv_catpvn _((SV* sv, char* ptr, STRLEN len)); -VIRTUAL void sv_catpvn_mg _((SV *sv, char *ptr, STRLEN len)); VIRTUAL void sv_catsv _((SV* dsv, SV* ssv)); -VIRTUAL void sv_catsv_mg _((SV *dstr, SV *sstr)); VIRTUAL void sv_chop _((SV* sv, char* ptr)); VIRTUAL void sv_clean_all _((void)); VIRTUAL void sv_clean_objs _((void)); @@ -572,25 +573,17 @@ VIRTUAL void sv_replace _((SV* sv, SV* nsv)); VIRTUAL void sv_report_used _((void)); VIRTUAL void sv_reset _((char* s, HV* stash)); VIRTUAL void sv_setpvf _((SV* sv, const char* pat, ...)); -VIRTUAL void sv_setpvf_mg _((SV *sv, const char* pat, ...)); VIRTUAL void sv_setiv _((SV* sv, IV num)); -VIRTUAL void sv_setiv_mg _((SV *sv, IV i)); VIRTUAL void sv_setpviv _((SV* sv, IV num)); -VIRTUAL void sv_setpviv_mg _((SV *sv, IV iv)); VIRTUAL void sv_setuv _((SV* sv, UV num)); -VIRTUAL void sv_setuv_mg _((SV *sv, UV u)); VIRTUAL void sv_setnv _((SV* sv, double num)); -VIRTUAL void sv_setnv_mg _((SV *sv, double num)); VIRTUAL SV* sv_setref_iv _((SV* rv, char* classname, IV iv)); VIRTUAL SV* sv_setref_nv _((SV* rv, char* classname, double nv)); VIRTUAL SV* sv_setref_pv _((SV* rv, char* classname, void* pv)); VIRTUAL SV* sv_setref_pvn _((SV* rv, char* classname, char* pv, I32 n)); VIRTUAL void sv_setpv _((SV* sv, const char* ptr)); -VIRTUAL void sv_setpv_mg _((SV *sv, const char *ptr)); VIRTUAL void sv_setpvn _((SV* sv, const char* ptr, STRLEN len)); -VIRTUAL void sv_setpvn_mg _((SV *sv, const char *ptr, STRLEN len)); VIRTUAL void sv_setsv _((SV* dsv, SV* ssv)); -VIRTUAL void sv_setsv_mg _((SV *dstr, SV *sstr)); VIRTUAL void sv_taint _((SV* sv)); VIRTUAL bool sv_tainted _((SV* sv)); VIRTUAL int sv_unmagic _((SV* sv, int type)); @@ -598,7 +591,6 @@ VIRTUAL void sv_unref _((SV* sv)); VIRTUAL void sv_untaint _((SV* sv)); VIRTUAL bool sv_upgrade _((SV* sv, U32 mt)); VIRTUAL void sv_usepvn _((SV* sv, char* ptr, STRLEN len)); -VIRTUAL void sv_usepvn_mg _((SV *sv, char *ptr, STRLEN len)); VIRTUAL void sv_vcatpvfn _((SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale)); @@ -886,3 +878,21 @@ VIRTUAL void byterun _((struct bytestream bs)); VIRTUAL void byterun _((PerlIO *fp)); #endif /* INDIRECT_BGET_MACROS */ +VIRTUAL void sv_catpvf_mg _((SV *sv, const char* pat, ...)); +VIRTUAL void sv_catpv_mg _((SV *sv, char *ptr)); +VIRTUAL void sv_catpvn_mg _((SV *sv, char *ptr, STRLEN len)); +VIRTUAL void sv_catsv_mg _((SV *dstr, SV *sstr)); +VIRTUAL void sv_setpvf_mg _((SV *sv, const char* pat, ...)); +VIRTUAL void sv_setiv_mg _((SV *sv, IV i)); +VIRTUAL void sv_setpviv_mg _((SV *sv, IV iv)); +VIRTUAL void sv_setuv_mg _((SV *sv, UV u)); +VIRTUAL void sv_setnv_mg _((SV *sv, double num)); +VIRTUAL void sv_setpv_mg _((SV *sv, const char *ptr)); +VIRTUAL void sv_setpvn_mg _((SV *sv, const char *ptr, STRLEN len)); +VIRTUAL void sv_setsv_mg _((SV *dstr, SV *sstr)); +VIRTUAL void sv_usepvn_mg _((SV *sv, char *ptr, STRLEN len)); + +/* New virtual functions must be added here to maintain binary + * compatablity with PERL_OBJECT + */ +