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, [email protected] 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


Reply via email to