Remove an unreferenced local variable in Digest-MD5
[p5sagit/p5-mst-13.2.git] / ext / Devel / PPPort / PPPort.xs
index 4c30b35..731741b 100644 (file)
@@ -8,13 +8,13 @@
 *
 ********************************************************************************
 *
-*  $Revision: 7 $
+*  $Revision: 8 $
 *  $Author: mhx $
-*  $Date: 2004/08/13 12:49:19 +0200 $
+*  $Date: 2005/01/31 08:10:55 +0100 $
 *
 ********************************************************************************
 *
-*  Version 3.x, Copyright (C) 2004, Marcus Holland-Moritz.
+*  Version 3.x, Copyright (C) 2004-2005, Marcus Holland-Moritz.
 *  Version 2.x, Copyright (C) 2001, Paul Marquess.
 *  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 *
 /* ---- from parts/inc/newRV ---- */
 #define NEED_newRV_noinc
 
+/* ---- from parts/inc/sv_xpvf ---- */
+#define NEED_vnewSVpvf
+#define NEED_sv_catpvf_mg
+#define NEED_sv_catpvf_mg_nocontext
+#define NEED_sv_setpvf_mg
+#define NEED_sv_setpvf_mg_nocontext
+
 /* ---- from parts/inc/SvPV ---- */
 #define NEED_sv_2pv_nolen
 #define NEED_sv_2pvbyte
 
 /* ========== BEGIN XSMISC ================================================== */
 
+/* ---- from parts/inc/exception ---- */
+/* defined in module3.c */
+int exception(int throw_e);
+
+/* ---- from parts/inc/misc ---- */
+XS(XS_Devel__PPPort_dXSTARG);  /* prototype */
+XS(XS_Devel__PPPort_dXSTARG)
+{
+  dXSARGS;
+  dXSTARG;
+  IV iv;
+  SP -= items;
+  iv = SvIV(ST(0)) + 1;
+  PUSHi(iv);
+  XSRETURN(1);
+}
+
 /* ---- from parts/inc/MY_CXT ---- */
 #define MY_CXT_KEY "Devel::PPPort::_guts" XS_VERSION
  
@@ -83,11 +107,53 @@ void call_newCONSTSUB_1(void)
 extern void call_newCONSTSUB_2(void);
 extern void call_newCONSTSUB_3(void);
 
+/* ---- from parts/inc/sv_xpvf ---- */
+static SV * test_vnewSVpvf(pTHX_ const char *pat, ...)
+{
+  SV *sv;
+  va_list args;
+  va_start(args, pat);
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+  sv = vnewSVpvf(pat, &args);
+#else
+  sv = newSVpv(pat, 0);
+#endif
+  va_end(args);
+  return sv;
+}
+
+static void test_sv_vcatpvf(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+  sv_vcatpvf(sv, pat, &args);
+#else
+  sv_catpv(sv, pat);
+#endif
+  va_end(args);
+}
+
+static void test_sv_vsetpvf(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+  sv_vsetpvf(sv, pat, &args);
+#else
+  sv_setpv(sv, pat);
+#endif
+  va_end(args);
+}
+
 /* =========== END XSMISC =================================================== */
 
 MODULE = Devel::PPPort         PACKAGE = Devel::PPPort
 
 BOOT:
+       /* ---- from parts/inc/misc ---- */
+       newXS("Devel::PPPort::dXSTARG", XS_Devel__PPPort_dXSTARG, file);
+       
        /* ---- from parts/inc/MY_CXT ---- */
        {
          MY_CXT_INIT;
@@ -234,6 +300,16 @@ CopFILE()
                RETVAL
 
 ##----------------------------------------------------------------------
+##  XSUBs from parts/inc/exception
+##----------------------------------------------------------------------
+
+int
+exception(throw_e)
+  int throw_e
+  OUTPUT:
+    RETVAL
+
+##----------------------------------------------------------------------
 ##  XSUBs from parts/inc/grok
 ##----------------------------------------------------------------------
 
@@ -675,6 +751,14 @@ MY_CXT_2()
        OUTPUT:
                RETVAL
 
+int
+MY_CXT_CLONE()
+       CODE:
+               MY_CXT_CLONE;
+               RETVAL = 42;
+       OUTPUT:
+               RETVAL
+
 ##----------------------------------------------------------------------
 ##  XSUBs from parts/inc/newCONSTSUB
 ##----------------------------------------------------------------------
@@ -718,6 +802,91 @@ newRV_noinc_REFCNT()
                RETVAL
 
 ##----------------------------------------------------------------------
+##  XSUBs from parts/inc/sv_xpvf
+##----------------------------------------------------------------------
+
+SV *
+vnewSVpvf()
+       CODE:
+               RETVAL = test_vnewSVpvf(aTHX_ "%s-%d", "Perl", 42);
+       OUTPUT:
+               RETVAL
+
+SV *
+sv_vcatpvf(sv)
+       SV *sv
+       CODE:
+               RETVAL = newSVsv(sv);
+               test_sv_vcatpvf(aTHX_ RETVAL, "%s-%d", "Perl", 42);
+       OUTPUT:
+               RETVAL
+
+SV *
+sv_vsetpvf(sv)
+       SV *sv
+       CODE:
+               RETVAL = newSVsv(sv);
+               test_sv_vsetpvf(aTHX_ RETVAL, "%s-%d", "Perl", 42);
+       OUTPUT:
+               RETVAL
+
+void
+sv_catpvf_mg(sv)
+       SV *sv
+       CODE:
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+               sv_catpvf_mg(sv, "%s-%d", "Perl", 42);
+#endif
+
+void
+Perl_sv_catpvf_mg(sv)
+       SV *sv
+       CODE:
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+               Perl_sv_catpvf_mg(aTHX_ sv, "%s-%d", "-Perl", 43);
+#endif
+
+void
+sv_catpvf_mg_nocontext(sv)
+       SV *sv
+       CODE:
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+#ifdef PERL_IMPLICIT_CONTEXT
+               sv_catpvf_mg_nocontext(sv, "%s-%d", "-Perl", 44);
+#else
+               sv_catpvf_mg(sv, "%s-%d", "-Perl", 44);
+#endif
+#endif
+
+void
+sv_setpvf_mg(sv)
+       SV *sv
+       CODE:
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+               sv_setpvf_mg(sv, "%s-%d", "mhx", 42);
+#endif
+
+void
+Perl_sv_setpvf_mg(sv)
+       SV *sv
+       CODE:
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+               Perl_sv_setpvf_mg(aTHX_ sv, "%s-%d", "foo", 43);
+#endif
+
+void
+sv_setpvf_mg_nocontext(sv)
+       SV *sv
+       CODE:
+#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0)))
+#ifdef PERL_IMPLICIT_CONTEXT
+               sv_setpvf_mg_nocontext(sv, "%s-%d", "bar", 44);
+#else
+               sv_setpvf_mg(sv, "%s-%d", "bar", 44);
+#endif
+#endif
+
+##----------------------------------------------------------------------
 ##  XSUBs from parts/inc/SvPV
 ##----------------------------------------------------------------------
 
@@ -740,7 +909,7 @@ SvPV_nolen(sv)
                const char *str;
        CODE:
                str = SvPV_nolen(sv);
-               RETVAL = strEQ(str, "mhx") ? 3 : 0;
+               RETVAL = strEQ(str, "mhx") ? 42 : 0;
        OUTPUT:
                RETVAL
 
@@ -804,3 +973,22 @@ void
 XSRETURN_UV()
        PPCODE:
                XSRETURN_UV(42);
+
+void
+PUSHu()
+       PREINIT:
+               dTARG;
+       PPCODE:
+               TARG = sv_newmortal();
+               EXTEND(SP, 1);
+               PUSHu(42);
+               XSRETURN(1);
+
+void
+XPUSHu()
+       PREINIT:
+               dTARG;
+       PPCODE:
+               TARG = sv_newmortal();
+               XPUSHu(43);
+               XSRETURN(1);