-C Another\sfix\sto\sthe\ssame\sassert\sas\sin\s(6555).\sIt\scan\salso\sfail\safter\sa\smalloc\serror.\s(CVS\s6556)
-D 2009-04-28T12:08:15
+C Do\snot\sstore\sthe\szero\sstring\sterminator\sas\spart\sof\sthe\sname\swhen\sholding\nsymbols\sin\sthe\ssymbol\stable.\s(CVS\s6557)
+D 2009-04-28T13:01:09
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 583e87706abc3026960ed759aff6371faf84c211
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/btree.c b4ec46b3adc3e2d82704c949d4b654b031a64ad6
F src/btree.h 99fcc7e8c4a1e35afe271bcb38de1a698dfc904e
F src/btreeInt.h df64030d632f8c8ac217ed52e8b6b3eacacb33a5
-F src/build.c 2a50f5e65ab00fb2443af8df5a3130a2eb644b25
+F src/build.c dca0ad77c88cb00f6a11cc080a4f3285672cfa37
F src/callback.c 73016376d6848ba987709e8c9048d4f0e0776036
F src/complete.c 5ad5c6cd4548211867c204c41a126d73a9fbcea0
F src/date.c d327ec7bb2f64b08d32b1035de82b9ba8675de91
F src/fault.c dc88c821842157460750d2d61a8a8b4197d047ff
F src/func.c f667fe886309707c7178542073bb0ced00a9fae7
F src/global.c 448419c44ce0701104c2121b0e06919b44514c0c
-F src/hash.c 5824e6ff7ba78cd34c8d6cd724367713583e5b55
+F src/hash.c 15d39cbe87de9b9991054750bd3e0861888b7b06
F src/hash.h 28f38ebb1006a5beedcb013bcdfe31befe7437ae
F src/hwtime.h 4a1d45f4cae1f402ea19686acf24acf4f0cb53cb
F src/insert.c 71286d081a919a27ef22eaeccbe2718f93dc6aa9
F src/test7.c b94e68c2236de76889d82b8d7d8e00ad6a4d80b1
F src/test8.c b1061548f7ce3aeedea3cc4d649ee1487c2b4eaf
F src/test9.c 963d380922f25c1c323712d05db01b19197ee6f7
-F src/test_async.c 7e16faf71e43ccf748b942d535f25c0b35dfe9c1
+F src/test_async.c 731d23f953ece5bf40ce87810cfb7607218953c5
F src/test_autoext.c f53b0cdf7bf5f08100009572a5d65cdb540bd0ad
F src/test_backup.c 1384a18985a5a2d275c2662e48473bf1542ebd08
F src/test_btree.c d7b8716544611c323860370ee364e897c861f1b0
F src/test_thread.c b8a1ab7ca1a632f18e8a361880d5d65eeea08eac
F src/test_wsd.c 3ae5101de6cbfda2720152ab659ea84079719241
F src/tokenize.c 7bd3b6dd56566604ad24ed4aa017e6618166b500
-F src/trigger.c c029d5262768faa43962080a170bb707afa0b9d7
+F src/trigger.c 448615bec40efcd6b3a9362a060f2e7067f25be5
F src/update.c 5062f0f042f67a4da0aff69949f145e2bc96e3cd
F src/utf.c 9541d28f40441812c0b40f00334372a0542c00ff
F src/util.c 828c552a22a1d5b650b8a5ea0009546715c45d93
F src/vdbeaux.c 34524d499fc6081e97771dcfdf6c2523d5877ef5
F src/vdbeblob.c e67757450ae8581a8b354d9d7e467e41502dfe38
F src/vdbemem.c 111d8193859d16aefd5d3cb57472808584ea5503
-F src/vtab.c 6118d71c5137e20a7ac51fb5d9beb0361fbedb89
+F src/vtab.c 53355aa2381ec3ef2eaad25672cfd5877a02fe45
F src/walker.c 7cdf63223c953d4343c6833e940f110281a378ee
F src/where.c d20e083e5cc549a04f1647ee180d3bc3d2c73c02
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P a37d1174eb80e9a09522b236afdb47283f312d06
-R f42d9cf54c9eec4f9aff568e256db111
-U danielk1977
-Z 4597ce858abcbcdbae0b3edd7f439fd4
+P e096f90a57f0e0d1dbeaafc72762035ca55ab803
+R f73743cb4e4b683f902aa1f7603e9fc9
+U drh
+Z d3fa05c89f737695a94e4772c7919db7
-e096f90a57f0e0d1dbeaafc72762035ca55ab803
\ No newline at end of file
+23d67af39227aeade2ea0292e1b8844eea580993
\ No newline at end of file
** COMMIT
** ROLLBACK
**
-** $Id: build.c,v 1.531 2009/04/24 18:06:09 danielk1977 Exp $
+** $Id: build.c,v 1.532 2009/04/28 13:01:09 drh Exp $
*/
#include "sqliteInt.h"
int i;
int nName;
assert( zName!=0 );
- nName = sqlite3Strlen(db, zName) + 1;
+ nName = sqlite3Strlen(db, zName);
for(i=OMIT_TEMPDB; i<db->nDb; i++){
int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */
if( zDatabase!=0 && sqlite3StrICmp(zDatabase, db->aDb[j].zName) ) continue;
Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const char *zDb){
Index *p = 0;
int i;
- int nName = sqlite3Strlen(db, zName)+1;
+ int nName = sqlite3Strlen(db, zName);
for(i=OMIT_TEMPDB; i<db->nDb; i++){
int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */
Schema *pSchema = db->aDb[j].pSchema;
const char *zName = p->zName;
pOld = sqlite3HashInsert(&p->pSchema->idxHash, zName,
- sqlite3Strlen30(zName)+1, 0);
+ sqlite3Strlen30(zName), 0);
assert( pOld==0 || pOld==p );
freeIndex(p);
}
Hash *pHash = &db->aDb[iDb].pSchema->idxHash;
len = sqlite3Strlen(db, zIdxName);
- pIndex = sqlite3HashInsert(pHash, zIdxName, len+1, 0);
+ pIndex = sqlite3HashInsert(pHash, zIdxName, len, 0);
if( pIndex ){
if( pIndex->pTable->pIndex==pIndex ){
pIndex->pTable->pIndex = pIndex->pNext;
for(pFKey=pTable->pFKey; pFKey; pFKey=pNextFKey){
pNextFKey = pFKey->pNextFrom;
assert( sqlite3HashFind(&pTable->pSchema->aFKey,
- pFKey->zTo, sqlite3Strlen30(pFKey->zTo)+1)!=pFKey );
+ pFKey->zTo, sqlite3Strlen30(pFKey->zTo))!=pFKey );
sqlite3DbFree(db, pFKey);
}
#endif
assert( zTabName && zTabName[0] );
pDb = &db->aDb[iDb];
p = sqlite3HashInsert(&pDb->pSchema->tblHash, zTabName,
- sqlite3Strlen30(zTabName)+1,0);
+ sqlite3Strlen30(zTabName),0);
if( p ){
#ifndef SQLITE_OMIT_FOREIGN_KEY
for(pF1=p->pFKey; pF1; pF1=pF1->pNextFrom){
- int nTo = sqlite3Strlen30(pF1->zTo) + 1;
+ int nTo = sqlite3Strlen30(pF1->zTo);
pF2 = sqlite3HashFind(&pDb->pSchema->aFKey, pF1->zTo, nTo);
if( pF2==pF1 ){
sqlite3HashInsert(&pDb->pSchema->aFKey, pF1->zTo, nTo, pF1->pNextTo);
FKey *pFKey;
Schema *pSchema = p->pSchema;
pOld = sqlite3HashInsert(&pSchema->tblHash, p->zName,
- sqlite3Strlen30(p->zName)+1,p);
+ sqlite3Strlen30(p->zName),p);
if( pOld ){
assert( p==pOld ); /* Malloc must have failed inside HashInsert() */
db->mallocFailed = 1;
#ifndef SQLITE_OMIT_FOREIGN_KEY
for(pFKey=p->pFKey; pFKey; pFKey=pFKey->pNextFrom){
void *data;
- int nTo = sqlite3Strlen30(pFKey->zTo) + 1;
+ int nTo = sqlite3Strlen30(pFKey->zTo);
pFKey->pNextTo = sqlite3HashFind(&pSchema->aFKey, pFKey->zTo, nTo);
data = sqlite3HashInsert(&pSchema->aFKey, pFKey->zTo, nTo, pFKey);
if( data==(void *)pFKey ){
if( db->init.busy ){
Index *p;
p = sqlite3HashInsert(&pIndex->pSchema->idxHash,
- pIndex->zName, sqlite3Strlen30(pIndex->zName)+1,
+ pIndex->zName, sqlite3Strlen30(pIndex->zName),
pIndex);
if( p ){
assert( p==pIndex ); /* Malloc must have failed */
** This is the implementation of generic hash-tables
** used in SQLite.
**
-** $Id: hash.c,v 1.33 2009/01/09 01:12:28 drh Exp $
+** $Id: hash.c,v 1.34 2009/04/28 13:01:09 drh Exp $
*/
#include "sqliteInt.h"
#include <assert.h>
static int strHash(const void *pKey, int nKey){
const char *z = (const char *)pKey;
int h = 0;
- if( nKey<=0 ) nKey = sqlite3Strlen30(z);
+ assert( nKey>0 );
while( nKey > 0 ){
h = (h<<3) ^ h ^ sqlite3UpperToLower[(unsigned char)*z++];
nKey--;
**
*************************************************************************
**
-** $Id: test_async.c,v 1.61 2009/04/25 08:39:15 danielk1977 Exp $
+** $Id: test_async.c,v 1.62 2009/04/28 13:01:09 drh Exp $
**
** This file contains a binding of the asynchronous IO extension interface
** (defined in ext/async/sqlite3async.h) to Tcl.
#endif /* SQLITE_ENABLE_ASYNCIO */
return TCL_OK;
}
-
*************************************************************************
**
**
-** $Id: trigger.c,v 1.136 2009/04/23 13:22:44 drh Exp $
+** $Id: trigger.c,v 1.137 2009/04/28 13:01:09 drh Exp $
*/
#include "sqliteInt.h"
db->mallocFailed = 1;
}else if( pLink->pSchema==pLink->pTabSchema ){
Table *pTab;
- int n = sqlite3Strlen30(pLink->table) + 1;
+ int n = sqlite3Strlen30(pLink->table);
pTab = sqlite3HashFind(&pLink->pTabSchema->tblHash, pLink->table, n);
assert( pTab!=0 );
pLink->pNext = pTab->pTrigger;
** is set on.
*/
static Table *tableOfTrigger(Trigger *pTrigger){
- int n = sqlite3Strlen30(pTrigger->table) + 1;
+ int n = sqlite3Strlen30(pTrigger->table);
return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table, n);
}
*************************************************************************
** This file contains code used to help implement virtual tables.
**
-** $Id: vtab.c,v 1.85 2009/04/11 16:27:20 drh Exp $
+** $Id: vtab.c,v 1.86 2009/04/28 13:01:09 drh Exp $
*/
#ifndef SQLITE_OMIT_VIRTUALTABLE
#include "sqliteInt.h"
Table *pOld;
Schema *pSchema = pTab->pSchema;
const char *zName = pTab->zName;
- int nName = sqlite3Strlen30(zName) + 1;
+ int nName = sqlite3Strlen30(zName);
pOld = sqlite3HashInsert(&pSchema->tblHash, zName, nName, pTab);
if( pOld ){
db->mallocFailed = 1;