]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an 8-byte alignment problem on HP/UX. Ticket #3869 (CVS 6666)
authordrh <drh@noemail.net>
Fri, 22 May 2009 01:00:12 +0000 (01:00 +0000)
committerdrh <drh@noemail.net>
Fri, 22 May 2009 01:00:12 +0000 (01:00 +0000)
FossilOrigin-Name: fc64f8509299a398ac1513e1778f271083e3eabc

manifest
manifest.uuid
src/rowset.c

index a0cad227478fa4fe037c9c013ff788c7ae0b0d16..1610923d801f7c5a69c4a3d01bec3503e972b472 100644 (file)
--- 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
index 988353d173855a4cd9ffcfea623c825f45d48294..bd8516cfbef087fc970ff8f7a860c684e8f2ea3d 100644 (file)
@@ -1 +1 @@
-309adb5e22af2735b69460c164d870aea99c6da3
\ No newline at end of file
+fc64f8509299a398ac1513e1778f271083e3eabc
\ No newline at end of file
index edfde11e932c7b8fffa8ebf8c85e732d88ebec90..8d5bd5cfead7528d07cde0cf89977c7fd5a3881b 100644 (file)
@@ -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;