Re: Perl @ http://www.ccl4.org/~nick/P/perl-33444.tar.bz2
[p5sagit/p5-mst-13.2.git] / ext / SDBM_File / SDBM_File.xs
index 3bf3c2b..6aafb6b 100644 (file)
@@ -53,16 +53,18 @@ void
 sdbm_DESTROY(db)
        SDBM_File       db
        CODE:
-         sdbm_close(db->dbp);
-         if (db->filter_fetch_key)
-           SvREFCNT_dec(db->filter_fetch_key) ;
-         if (db->filter_store_key)
-           SvREFCNT_dec(db->filter_store_key) ;
-         if (db->filter_fetch_value)
-           SvREFCNT_dec(db->filter_fetch_value) ;
-         if (db->filter_store_value)
-           SvREFCNT_dec(db->filter_store_value) ;
-         safefree(db) ;
+       if (db) {
+           sdbm_close(db->dbp);
+           if (db->filter_fetch_key)
+               SvREFCNT_dec(db->filter_fetch_key) ;
+           if (db->filter_store_key)
+               SvREFCNT_dec(db->filter_store_key) ;
+           if (db->filter_fetch_value)
+               SvREFCNT_dec(db->filter_fetch_value) ;
+           if (db->filter_store_value)
+               SvREFCNT_dec(db->filter_store_value) ;
+           safefree(db) ;
+       }
 
 datum_value
 sdbm_FETCH(db, key)
@@ -101,7 +103,7 @@ sdbm_FIRSTKEY(db)
 datum_key
 sdbm_NEXTKEY(db, key)
        SDBM_File       db
-       datum_key       key = key; /* never used -  silence picky compilers. */
+       datum_key       key;
 
 int
 sdbm_error(db)