--- BDB/BDB.xs 2008/09/29 02:59:08 1.56 +++ BDB/BDB.xs 2008/09/29 03:01:54 1.57 @@ -1914,29 +1914,31 @@ if (flags & DB_OPFLAGS_MASK != DB_SET && SvREADONLY (key)) croak ("db_c_get was passed a read-only/constant 'key' argument but operation is not DB_SET"); - dREQ (REQ_C_GET, 1); - req->dbc = dbc; - req->uint1 = flags; - if (flags & DB_OPFLAGS_MASK == DB_SET) - sv_to_dbt (&req->dbt1, key); - else - { - if (flags & DB_OPFLAGS_MASK == DB_SET_RANGE) - sv_to_dbt (&req->dbt1, key); - else - req->dbt1.flags = DB_DBT_MALLOC; - - req->sv1 = SvREFCNT_inc (key); SvREADONLY_on (key); - } - - if (flags & DB_OPFLAGS_MASK == DB_GET_BOTH - || flags & DB_OPFLAGS_MASK == DB_GET_BOTH_RANGE) - sv_to_dbt (&req->dbt3, data); - else - req->dbt3.flags = DB_DBT_MALLOC; - - req->sv3 = SvREFCNT_inc (data); SvREADONLY_on (data); - REQ_SEND; + { + dREQ (REQ_C_GET, 1); + req->dbc = dbc; + req->uint1 = flags; + if (flags & DB_OPFLAGS_MASK == DB_SET) + sv_to_dbt (&req->dbt1, key); + else + { + if (flags & DB_OPFLAGS_MASK == DB_SET_RANGE) + sv_to_dbt (&req->dbt1, key); + else + req->dbt1.flags = DB_DBT_MALLOC; + + req->sv1 = SvREFCNT_inc (key); SvREADONLY_on (key); + } + + if (flags & DB_OPFLAGS_MASK == DB_GET_BOTH + || flags & DB_OPFLAGS_MASK == DB_GET_BOTH_RANGE) + sv_to_dbt (&req->dbt3, data); + else + req->dbt3.flags = DB_DBT_MALLOC; + + req->sv3 = SvREFCNT_inc (data); SvREADONLY_on (data); + REQ_SEND; + } } void @@ -1948,32 +1950,34 @@ if (flags & DB_OPFLAGS_MASK != DB_SET && SvREADONLY (key)) croak ("db_c_pget was passed a read-only/constant 'key' argument but operation is not DB_SET"); - dREQ (REQ_C_PGET, 1); - req->dbc = dbc; - req->uint1 = flags; - if (flags & DB_OPFLAGS_MASK == DB_SET) - sv_to_dbt (&req->dbt1, key); - else - { - if (flags & DB_OPFLAGS_MASK == DB_SET_RANGE) - sv_to_dbt (&req->dbt1, key); - else - req->dbt1.flags = DB_DBT_MALLOC; - - req->sv1 = SvREFCNT_inc (key); SvREADONLY_on (key); - } - - req->dbt2.flags = DB_DBT_MALLOC; - req->sv2 = SvREFCNT_inc (pkey); SvREADONLY_on (pkey); - - if (flags & DB_OPFLAGS_MASK == DB_GET_BOTH - || flags & DB_OPFLAGS_MASK == DB_GET_BOTH_RANGE) - sv_to_dbt (&req->dbt3, data); - else - req->dbt3.flags = DB_DBT_MALLOC; - - req->sv3 = SvREFCNT_inc (data); SvREADONLY_on (data); - REQ_SEND; + { + dREQ (REQ_C_PGET, 1); + req->dbc = dbc; + req->uint1 = flags; + if (flags & DB_OPFLAGS_MASK == DB_SET) + sv_to_dbt (&req->dbt1, key); + else + { + if (flags & DB_OPFLAGS_MASK == DB_SET_RANGE) + sv_to_dbt (&req->dbt1, key); + else + req->dbt1.flags = DB_DBT_MALLOC; + + req->sv1 = SvREFCNT_inc (key); SvREADONLY_on (key); + } + + req->dbt2.flags = DB_DBT_MALLOC; + req->sv2 = SvREFCNT_inc (pkey); SvREADONLY_on (pkey); + + if (flags & DB_OPFLAGS_MASK == DB_GET_BOTH + || flags & DB_OPFLAGS_MASK == DB_GET_BOTH_RANGE) + sv_to_dbt (&req->dbt3, data); + else + req->dbt3.flags = DB_DBT_MALLOC; + + req->sv3 = SvREFCNT_inc (data); SvREADONLY_on (data); + REQ_SEND; + } } void