[comp.unix.xenix] Difference in dbm

vipoon@kepler1.UUCP (Victor I Poon) (08/03/89)

	It seems that SCO has changed some of the dbm subroutines
between release 2.2 and release 2.3 of the Development System.  The
new routines are not compatible with the old ones so if you have
made a database using the old compiler, any program compiled with
the new one will not fetch properly.

	One good thing is that the .pag file is about half as small
in the new compiler so they obviously did some optimization.


Victor
-- 
Victor I. Poon		{acsm, lilink, polyof, sbcs}!kepler1!vipoon
Kepler Financial Management, Ltd.
It was the best of times, It was the worst of times, ...

jim@applix.UUCP (Jim Morton) (08/04/89)

In article <146@kepler1.UUCP>, vipoon@kepler1.UUCP (Victor I Poon) writes:
} 	It seems that SCO has changed some of the dbm subroutines
} between release 2.2 and release 2.3 of the Development System.  The
} new routines are not compatible with the old ones so if you have
} made a database using the old compiler, any program compiled with
} the new one will not fetch properly.
} 	One good thing is that the .pag file is about half as small
} in the new compiler so they obviously did some optimization.

This may not be the cause of the problem but is worth noting:
As of the 2.2.1 386 Development system, alignment of structures within
structures changed. If have programs compiled on both 2.2.0/386 and 2.2.1
or greater, there may be problems with on-disk data. Note: 2.2.1 DS was
the 2.2.0 DS with update #1 applied (UFC1). A simple test program that
just does a sizeof(struct) compiled under both will NOT show the difference,
you must print out the address of each structure member and see if they
match up. This only affects structure members that were not on 4 byte
boundaries.
--
Jim Morton, APPLiX Inc., Westboro, MA
...uunet!applix!jim    jim@applix.com