… | |
… | |
137 | dbt_to_sv (SV *sv, DBT *dbt) |
137 | dbt_to_sv (SV *sv, DBT *dbt) |
138 | { |
138 | { |
139 | if (sv) |
139 | if (sv) |
140 | { |
140 | { |
141 | SvREADONLY_off (sv); |
141 | SvREADONLY_off (sv); |
142 | sv_setsv_mg (sv, dbt->data ? newSVpvn (dbt->data, dbt->size) : &PL_sv_undef); |
142 | |
|
|
143 | if (dbt->data) |
|
|
144 | sv_setpvn_mg (sv, dbt->data, dbt->size); |
|
|
145 | else |
|
|
146 | sv_setsv_mg (sv, &PL_sv_undef); |
|
|
147 | |
143 | SvREFCNT_dec (sv); |
148 | SvREFCNT_dec (sv); |
144 | } |
149 | } |
145 | |
150 | |
146 | if (dbt->flags & DB_DBT_MALLOC) |
|
|
147 | free (dbt->data); |
151 | free (dbt->data); |
148 | } |
152 | } |
149 | |
153 | |
150 | enum { |
154 | enum { |
151 | REQ_QUIT, |
155 | REQ_QUIT, |
152 | REQ_ENV_OPEN, REQ_ENV_CLOSE, REQ_ENV_TXN_CHECKPOINT, REQ_ENV_LOCK_DETECT, |
156 | REQ_ENV_OPEN, REQ_ENV_CLOSE, REQ_ENV_TXN_CHECKPOINT, REQ_ENV_LOCK_DETECT, |