From: drh Date: Fri, 22 May 2009 01:00:12 +0000 (+0000) Subject: Fix an 8-byte alignment problem on HP/UX. Ticket #3869 (CVS 6666) X-Git-Tag: version-3.6.15~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=49145af9f2ca8fbb86e92181eeebf61909c5f92a;p=thirdparty%2Fsqlite.git Fix an 8-byte alignment problem on HP/UX. Ticket #3869 (CVS 6666) FossilOrigin-Name: fc64f8509299a398ac1513e1778f271083e3eabc --- diff --git a/manifest b/manifest index a0cad22747..1610923d80 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Simplifications\sto\sexpr.c\sin\ssupport\sof\sfull\scoverage\stesting.\s(CVS\s6665) -D 2009-05-21T20:41:32 +C Fix\san\s8-byte\salignment\sproblem\son\sHP/UX.\s\sTicket\s#3869\s(CVS\s6666) +D 2009-05-22T01:00:13 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -157,7 +157,7 @@ F src/prepare.c f46d1a029760edee5447e27164fb3ae10e2a6839 F src/printf.c 3f4dca207a88258d37af5a7a03e800a825fe6456 F src/random.c 676b9d7ac820fe81e6fb2394ac8c10cff7f38628 F src/resolve.c 2ce8f8bc8a0c913cbaec3fb3da2be113ea1fa5af -F src/rowset.c 14d12b5e81b5907b87d511f6f4219805f96a4b55 +F src/rowset.c c64dafba1f9fd876836c8db8682966b9d197eb1f F src/select.c 88e654ab5b183e4fdb084680b66b5bfa6f214dc5 F src/shell.c 7eacd0bdaa887931f5ff205c9defc3e8df95a2dd F src/sqlite.h.in 0c459a45c1047be24c6a58646e8be4d001a3a28a @@ -729,7 +729,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P bedd5ad1942021ef2b3defde3ff3e8aead86137e -R c10e03fcec7219b961eadb057b40a247 +P 309adb5e22af2735b69460c164d870aea99c6da3 +R 502e45b62a8dda38913294e9ae5f6000 U drh -Z c4baf8d6263d95449794bc3f1691d7fd +Z e863a3640947f6e85f2331101a806baf diff --git a/manifest.uuid b/manifest.uuid index 988353d173..bd8516cfbe 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -309adb5e22af2735b69460c164d870aea99c6da3 \ No newline at end of file +fc64f8509299a398ac1513e1778f271083e3eabc \ No newline at end of file diff --git a/src/rowset.c b/src/rowset.c index edfde11e93..8d5bd5cfea 100644 --- a/src/rowset.c +++ b/src/rowset.c @@ -60,7 +60,7 @@ ** There is an added cost of O(N) when switching between TEST and ** SMALLEST primitives. ** -** $Id: rowset.c,v 1.6 2009/04/22 15:32:59 drh Exp $ +** $Id: rowset.c,v 1.7 2009/05/22 01:00:13 drh Exp $ */ #include "sqliteInt.h" @@ -127,15 +127,15 @@ struct RowSet { */ RowSet *sqlite3RowSetInit(sqlite3 *db, void *pSpace, unsigned int N){ RowSet *p; - assert( N >= sizeof(*p) ); + assert( N >= ROUND8(sizeof(*p)) ); p = pSpace; p->pChunk = 0; p->db = db; p->pEntry = 0; p->pLast = 0; p->pTree = 0; - p->pFresh = (struct RowSetEntry*)&p[1]; - p->nFresh = (u16)((N - sizeof(*p))/sizeof(struct RowSetEntry)); + p->pFresh = (struct RowSetEntry*)(ROUND8(sizeof(*p)) + (char*)p); + p->nFresh = (u16)((N - ROUND8(sizeof(*p)))/sizeof(struct RowSetEntry)); p->isSorted = 1; p->iBatch = 0; return p;