varargs functions such as sv_catpvf can't have compatibility wrappers for
Nicholas Clark [Wed, 31 Dec 2008 07:14:15 +0000 (07:14 +0000)]
threads, so have to be written longhand as Perl_sv_catpvf(aTHX_ ...)  :-(

perl.c

diff --git a/perl.c b/perl.c
index d224ca6..f55521d 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -3311,14 +3311,14 @@ Perl_moreswitches(pTHX_ const char *s)
 #ifdef PERL_PATCHNUM
            SV* num= newSVpvn(STRINGIFY(PERL_PATCHNUM),sizeof(STRINGIFY(PERL_PATCHNUM))-1);
 #ifdef PERL_GIT_UNCOMMITTED_CHANGES
-           sv_catpvf(num,"%s","*");
+           Perl_sv_catpvf(aTHX_ num,"%s","*");
 #endif
 
            if (sv_len(num)>=sv_len(level) && strnEQ(SvPV_nolen(num),SvPV_nolen(level),sv_len(level))) {
                SvREFCNT_dec(level);
                level= num;
            } else {
-               sv_catpvf(level, " (%s)",SvPV_nolen(num));
+               Perl_sv_catpvf(aTHX_ level, " (%s)",SvPV_nolen(num));
                SvREFCNT_dec(num);
            }
  #endif