RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Elan Ruusamäe
Root: /v/rpm/cvs Email: glen@rpm5.org
Module: db Date: 03-Sep-2008 05:14:56
Branch: db-4_5_20 Handle: 2008090303145500
Modified files: (Branch: db-4_5_20)
db/sequence sequence.c
Log:
- apply upstream patch.4.5.20.1
Summary:
Revision Changes Path
1.6.4.1 +8 -0 db/sequence/sequence.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: db/sequence/sequence.c
============================================================================
$ cvs diff -u -r1.6 -r1.6.4.1 sequence.c
--- db/sequence/sequence.c 1 Oct 2006 20:19:36 -0000 1.6
+++ db/sequence/sequence.c 3 Sep 2008 03:14:55 -0000 1.6.4.1
@@ -228,6 +228,9 @@
seq->seq_data.ulen = seq->seq_data.size = sizeof(seq->seq_record);
seq->seq_rp = &seq->seq_record;
+ if ((ret = __dbt_usercopy(dbenv, keyp)) != 0)
+ goto err;
+
memset(&seq->seq_key, 0, sizeof(DBT));
if ((ret = __os_malloc(dbenv, keyp->size, &seq->seq_key.data)) != 0)
goto err;
@@ -365,6 +368,7 @@
ret = t_ret;
ENV_LEAVE(dbenv, ip);
+ __dbt_userfree(dbenv, keyp, NULL, NULL);
return (ret);
}
@@ -765,6 +769,10 @@
{
SEQ_ILLEGAL_BEFORE_OPEN(seq, "DB_SEQUENCE->get_key");
+ if (F_ISSET(key, DB_DBT_USERCOPY))
+ return (__db_retcopy(seq->seq_dbp->dbenv, key,
+ seq->seq_key.data, seq->seq_key.size, NULL, 0));
+
key->data = seq->seq_key.data;
key->size = key->ulen = seq->seq_key.size;
key->flags = seq->seq_key.flags;
@@ .
Received on Wed Sep 3 05:14:56 2008