--- BDB/BDB.xs 2008/10/20 03:29:37 1.61 +++ BDB/BDB.xs 2008/10/20 04:21:53 1.62 @@ -770,7 +770,7 @@ #if DB_VERSION_MINOR >= 4 case REQ_DB_COMPACT: - req->result = req->db->compact (req->db, req->txn, &req->dbt1, &req->dbt2, 0, req->uint1, 0); + req->result = req->db->compact (req->db, req->txn, req->dbt1.data ? &req->dbt1 : 0, req->dbt2.data ? &req->dbt2 : 0, 0, req->uint1, 0); break; #endif @@ -1695,8 +1695,8 @@ dREQ (REQ_DB_COMPACT, 2); req->db = db; req->txn = txn; - sv_to_dbt (&req->dbt1, start); - sv_to_dbt (&req->dbt2, stop); + if (start) sv_to_dbt (&req->dbt1, start); + if (stop ) sv_to_dbt (&req->dbt2, stop ); req->uint1 = flags; REQ_SEND; }