Warnings in B::Deparse
[p5sagit/p5-mst-13.2.git] / ext / ODBM_File / ODBM_File.xs
index 9ad794d..150f2ef 100644 (file)
@@ -2,9 +2,6 @@
 #include "perl.h"
 #include "XSUB.h"
 
-#ifdef NULL
-#undef NULL  /* XXX Why? */
-#endif
 #ifdef I_DBM
 #  include <dbm.h>
 #else
@@ -76,10 +73,6 @@ static int dbmrefcnt;
 
 MODULE = ODBM_File     PACKAGE = ODBM_File     PREFIX = odbm_
 
-#ifndef NULL
-#  define NULL 0
-#endif
-
 ODBM_File
 odbm_TIEHASH(dbtype, filename, flags, mode)
        char *          dbtype
@@ -120,6 +113,7 @@ DESTROY(db)
        CODE:
        dbmrefcnt--;
        dbmclose();
+       safefree(db);
 
 datum_value
 odbm_FETCH(db, key)
@@ -158,7 +152,8 @@ odbm_NEXTKEY(db, key)
 #define setFilter(type)                                        \
        {                                               \
            if (db->type)                               \
-               RETVAL = newSVsv(db->type) ;            \
+               RETVAL = sv_mortalcopy(db->type) ;      \
+           ST(0) = RETVAL ;                            \
            if (db->type && (code == &PL_sv_undef)) {   \
                 SvREFCNT_dec(db->type) ;               \
                db->type = Nullsv ;                     \
@@ -180,8 +175,6 @@ filter_fetch_key(db, code)
        SV *            RETVAL = &PL_sv_undef ;
        CODE:
            setFilter(filter_fetch_key) ;
-       OUTPUT:
-           RETVAL
 
 SV *
 filter_store_key(db, code)
@@ -190,8 +183,6 @@ filter_store_key(db, code)
        SV *            RETVAL =  &PL_sv_undef ;
        CODE:
            setFilter(filter_store_key) ;
-       OUTPUT:
-           RETVAL
 
 SV *
 filter_fetch_value(db, code)
@@ -200,8 +191,6 @@ filter_fetch_value(db, code)
        SV *            RETVAL =  &PL_sv_undef ;
        CODE:
            setFilter(filter_fetch_value) ;
-       OUTPUT:
-           RETVAL
 
 SV *
 filter_store_value(db, code)
@@ -210,6 +199,4 @@ filter_store_value(db, code)
        SV *            RETVAL =  &PL_sv_undef ;
        CODE:
            setFilter(filter_store_value) ;
-       OUTPUT:
-           RETVAL