]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111)
authordrh <drh@noemail.net>
Mon, 5 Jan 2009 18:02:27 +0000 (18:02 +0000)
committerdrh <drh@noemail.net>
Mon, 5 Jan 2009 18:02:27 +0000 (18:02 +0000)
FossilOrigin-Name: b2131e868a3a948ba81f7458270493085da1ae60

manifest
manifest.uuid
src/vdbe.c
src/vdbeInt.h

index 923a5c8845566bc04b0baf87699815b50145cccd..951efc442fd231c2390da6dee9d2e324a6f593c5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Include\sfuzz3.test\sin\sall.test.\s\sGet\sfuzz3.test\sworking\sagain.\s(CVS\s6110)
-D 2009-01-05T17:19:03
+C Make\ssure\sthe\sMEM_Zero\sflags\sis\scleared\swhenever\sremoving\sMEM_Blob.\s(CVS\s6111)
+D 2009-01-05T18:02:27
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 05461a9b5803d5ad10c79f989801e9fd2cc3e592
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -198,9 +198,9 @@ F src/update.c 8c4925f9ca664effc8a1faaad67449d2074567b1
 F src/utf.c 1da9c832dba0fa8f865b5b902d93f420a1ee4245
 F src/util.c ea62608f66f33a7e8322de83024ae37c415c0c7f
 F src/vacuum.c 383d6297bddc011ab04a9eed110db6eaf523e8e9
-F src/vdbe.c 687e481528acc92a42959accafa8e41dfa46f95d
+F src/vdbe.c d30c6c3e022ff0c4ff0202adfcaf38b89cb642ee
 F src/vdbe.h 03516f28bf5aca00a53c4dccd6c313f96adb94f6
-F src/vdbeInt.h e6e80a99ce634983b7cc2498843b4d2e5540900a
+F src/vdbeInt.h 5530e45fc64c1572f123aca384096e1b84cf834b
 F src/vdbeapi.c 85c33cfbfa56249cbe627831610afafba754477d
 F src/vdbeaux.c f8bf57ba0f7ec1fc1fe3997be1cb30d08553fa5c
 F src/vdbeblob.c b0dcebfafedcf9c0addc7901ad98f6f986c08935
@@ -692,7 +692,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P cf627752c4537f709acae26a1e335731d55bddb2
-R 4b9de2d28fc2e8188a571158ea4e3416
+P 77dc19cfabca54353509ff346b12975044d416d5
+R 2a41e3988f61c793d4dad4e5b4435e22
 U drh
-Z 13bf1ffa0f51ae4cbd19f2d1eead623a
+Z 89b2b05de23be25cd3f5c45e5c034efb
index b64147347cd5e9e9d81dec6641f363371900d131..cc91bd547709e520746a6cbf1e736a92c9288dfe 100644 (file)
@@ -1 +1 @@
-77dc19cfabca54353509ff346b12975044d416d5
\ No newline at end of file
+b2131e868a3a948ba81f7458270493085da1ae60
\ No newline at end of file
index 26412e40499c4036fd7089762e3f63d834eaaf05..fd6a7928aad221f137edcf457268a69ce0ff8fb8 100644 (file)
@@ -43,7 +43,7 @@
 ** in this file for details.  If in doubt, do not deviate from existing
 ** commenting and indentation practices when changing or adding code.
 **
-** $Id: vdbe.c,v 1.808 2009/01/02 21:08:09 drh Exp $
+** $Id: vdbe.c,v 1.809 2009/01/05 18:02:27 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -1503,7 +1503,7 @@ case OP_ToText: {                  /* same as TK_TO_TEXT, in1 */
   applyAffinity(pIn1, SQLITE_AFF_TEXT, encoding);
   rc = ExpandBlob(pIn1);
   assert( pIn1->flags & MEM_Str || db->mallocFailed );
-  pIn1->flags &= ~(MEM_Int|MEM_Real|MEM_Blob);
+  pIn1->flags &= ~(MEM_Int|MEM_Real|MEM_Blob|MEM_Zero);
   UPDATE_MAX_BLOBSIZE(pIn1);
   break;
 }
index f752113142850eb55b1841e926fd0d7959fa7279..c574978857608d2586bb818c0865d4c9f89fecd5 100644 (file)
@@ -15,7 +15,7 @@
 ** 6000 lines long) it was split up into several smaller files and
 ** this header information was factored out.
 **
-** $Id: vdbeInt.h,v 1.160 2008/12/09 02:51:24 drh Exp $
+** $Id: vdbeInt.h,v 1.161 2009/01/05 18:02:27 drh Exp $
 */
 #ifndef _VDBEINT_H_
 #define _VDBEINT_H_
@@ -173,7 +173,8 @@ struct Mem {
 /*
 ** Clear any existing type flags from a Mem and replace them with f
 */
-#define MemSetTypeFlag(p, f) ((p)->flags = ((p)->flags&~(MEM_TypeMask))|f)
+#define MemSetTypeFlag(p, f) \
+   ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f)
 
 
 /* A VdbeFunc is just a FuncDef (defined in sqliteInt.h) that contains