updated on Tue Jan 10 12:02:00 UTC 2012
[aur-mirror.git] / db4.5 / patch.4.5.20.1
blob370ac3e7d7bc99c315e11dc97c370c3c7385c272
1 *** sequence/sequence.c.orig    27 Sep 2006 14:56:17 -0000      12.39
2 --- sequence/sequence.c 26 Oct 2006 07:36:05 -0000
3 ***************
4 *** 228,233 ****
5 --- 228,236 ----
6         seq->seq_data.ulen = seq->seq_data.size = sizeof(seq->seq_record);
7         seq->seq_rp = &seq->seq_record;
8   
9 +       if ((ret = __dbt_usercopy(dbenv, keyp)) != 0)
10 +               goto err;
11
12         memset(&seq->seq_key, 0, sizeof(DBT));
13         if ((ret = __os_malloc(dbenv, keyp->size, &seq->seq_key.data)) != 0)
14                 goto err;
15 ***************
16 *** 365,370 ****
17 --- 368,374 ----
18                 ret = t_ret;
19   
20         ENV_LEAVE(dbenv, ip);
21 +       __dbt_userfree(dbenv, keyp, NULL, NULL);
22         return (ret);
23   }
24   
25 ***************
26 *** 764,769 ****
27 --- 768,777 ----
28         DBT *key;
29   {
30         SEQ_ILLEGAL_BEFORE_OPEN(seq, "DB_SEQUENCE->get_key");
31
32 +       if (F_ISSET(key, DB_DBT_USERCOPY))
33 +               return (__db_retcopy(seq->seq_dbp->dbenv, key,
34 +                   seq->seq_key.data, seq->seq_key.size, NULL, 0));
35   
36         key->data = seq->seq_key.data;
37         key->size = key->ulen = seq->seq_key.size;