Hallvard,
This also works. My naive approach was due to working out what
the issue was with the original assigment and then trying to determine
which members were not aligned correctly.
Thanks,
Roy Keene
On Fri, 2 Mar 2012, Hallvard B Furuseth wrote:
> On Fri, 2 Mar 2012 08:03:00 GMT, roy.keene(a)us.army.mil wrote:
>> Breaking the assignment into an assignment of its members and using
>> the existing COPY_PGNO() alleviates this fault.
>
> memcpy would be simpler, if it is 'db' which is unaligned.
> Try this instead.
>
> --- mdb.c~ 2012-03-02 11:23:21
> +++ mdb.c 2012-03-02 11:25:06
> @@ -4699,4 +4699,3 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_no
> if (node->mn_flags & F_SUBDATA) {
> - MDB_db *db = NODEDATA(node);
> - mx->mx_db = *db;
> + memcpy(&mx->mx_db, NODEDATA(node), sizeof(MDB_db));
> mx->mx_cursor.mc_snum = 0;
>
>
--
(U) Roy Keene
(U) US Army Corps of Engineers IT (ACE-IT)
(U) Contractor