diff --git a/ndbglue.diff b/ndbglue.diff index 6413dcc..4daf4b0 100644 --- a/ndbglue.diff +++ b/ndbglue.diff @@ -1,6 +1,12 @@ --- ./lib/backend/ndb/glue.c.orig 2021-01-05 15:36:03.097744355 +0000 -+++ ./lib/backend/ndb/glue.c 2021-01-05 15:36:35.353659287 +0000 -@@ -316,7 +316,7 @@ static rpmRC ndb_pkgdbPut(dbiIndex dbi, ++++ ./lib/backend/ndb/glue.c 2021-01-07 10:23:41.113114258 +0000 +@@ -311,12 +311,13 @@ static void setdata(dbiCursor dbc, unsi + + static rpmRC ndb_pkgdbPut(dbiIndex dbi, dbiCursor dbc, unsigned int *hdrNum, unsigned char *hdrBlob, unsigned int hdrLen) + { ++ struct ndbEnv_s *ndbenv = dbc->dbi->dbi_rpmdb->db_dbenv; + unsigned int hnum = *hdrNum; + int rc = RPMRC_OK; if (hnum == 0) { rc = rpmpkgNextPkgIdx(dbc->dbi->dbi_db, &hnum); @@ -9,7 +15,7 @@ setdata(dbc, hnum, 0, 0); } -@@ -325,7 +325,8 @@ static rpmRC ndb_pkgdbPut(dbiIndex dbi, +@@ -325,7 +326,8 @@ static rpmRC ndb_pkgdbPut(dbiIndex dbi, if (!rc) { dbc->hdrNum = hnum; @@ -19,9 +25,11 @@ *hdrNum = hnum; } return rc; -@@ -334,7 +335,8 @@ static rpmRC ndb_pkgdbPut(dbiIndex dbi, +@@ -333,8 +335,10 @@ static rpmRC ndb_pkgdbPut(dbiIndex dbi, + static rpmRC ndb_pkgdbDel(dbiIndex dbi, dbiCursor dbc, unsigned int hdrNum) { ++ struct ndbEnv_s *ndbenv = dbc->dbi->dbi_rpmdb->db_dbenv; dbc->hdrNum = 0; - setdata(dbc, 0, 0, 0); + if (ndbenv->hdrNum == hnum)