Fossil SCM

Update SQLite again, with new fixes to shell.c which attempt to get the build working on MinGW64.

drh 2018-01-09 14:29 trunk
Commit 9a33a240a2101edebc737646711a436a63cbe1437a574971e55504cac0c264fb
3 files changed +53 -27 +3 -3 +1 -1
+53 -27
--- src/shell.c
+++ src/shell.c
@@ -2074,11 +2074,11 @@
20742074
# define dirent DIRENT
20752075
# ifndef stat
20762076
# define stat _stat
20772077
# endif
20782078
# define mkdir(path,mode) _mkdir(path)
2079
-# define lstat(path,buf) _stat(path,buf)
2079
+# define lstat(path,buf) stat(path,buf)
20802080
#endif
20812081
#include <time.h>
20822082
#include <errno.h>
20832083
20842084
@@ -4998,17 +4998,22 @@
49984998
}
49994999
50005000
return rc;
50015001
}
50025002
5003
-static int zipfileGetMode(ZipfileTab *pTab, sqlite3_value *pVal, int *pMode){
5003
+static int zipfileGetMode(
5004
+ ZipfileTab *pTab,
5005
+ sqlite3_value *pVal,
5006
+ u32 defaultMode, /* Value to use if pVal IS NULL */
5007
+ u32 *pMode
5008
+){
50045009
const char *z = (const char*)sqlite3_value_text(pVal);
5005
- int mode = 0;
5010
+ u32 mode = 0;
50065011
if( z==0 ){
5007
- mode = 33188; /* -rw-r--r-- */
5012
+ mode = defaultMode;
50085013
}else if( z[0]>=0 && z[0]<=9 ){
5009
- mode = sqlite3_value_int(pVal);
5014
+ mode = (unsigned int)sqlite3_value_int(pVal);
50105015
}else{
50115016
const char zTemplate[11] = "-rwxrwxrwx";
50125017
int i;
50135018
if( strlen(z)!=10 ) goto parse_error;
50145019
switch( z[0] ){
@@ -5043,20 +5048,24 @@
50435048
){
50445049
ZipfileTab *pTab = (ZipfileTab*)pVtab;
50455050
int rc = SQLITE_OK; /* Return Code */
50465051
ZipfileEntry *pNew = 0; /* New in-memory CDS entry */
50475052
5048
- int mode; /* Mode for new entry */
5053
+ u32 mode; /* Mode for new entry */
50495054
i64 mTime; /* Modification time for new entry */
50505055
i64 sz = 0; /* Uncompressed size */
50515056
const char *zPath; /* Path for new entry */
50525057
int nPath; /* strlen(zPath) */
50535058
const u8 *pData = 0; /* Pointer to buffer containing content */
50545059
int nData = 0; /* Size of pData buffer in bytes */
50555060
int iMethod = 0; /* Compression method for new entry */
50565061
u8 *pFree = 0; /* Free this */
50575062
ZipfileCDS cds; /* New Central Directory Structure entry */
5063
+
5064
+ int bIsDir = 0;
5065
+
5066
+ int mNull;
50585067
50595068
assert( pTab->zFile );
50605069
assert( pTab->pWriteFd );
50615070
50625071
if( sqlite3_value_type(apVal[0])!=SQLITE_NULL ){
@@ -5069,24 +5078,21 @@
50695078
}
50705079
}
50715080
if( nVal==1 ) return SQLITE_OK;
50725081
}
50735082
5074
- zPath = (const char*)sqlite3_value_text(apVal[2]);
5075
- nPath = (int)strlen(zPath);
5076
- rc = zipfileGetMode(pTab, apVal[3], &mode);
5077
- if( rc!=SQLITE_OK ) return rc;
5078
- if( sqlite3_value_type(apVal[4])==SQLITE_NULL ){
5079
- mTime = (sqlite3_int64)time(0);
5080
- }else{
5081
- mTime = sqlite3_value_int64(apVal[4]);
5082
- }
5083
-
5084
- if( sqlite3_value_type(apVal[5])==SQLITE_NULL /* sz */
5085
- && sqlite3_value_type(apVal[6])==SQLITE_NULL /* rawdata */
5086
- && sqlite3_value_type(apVal[7])!=SQLITE_NULL /* data */
5087
- ){
5083
+ mNull = (sqlite3_value_type(apVal[5])==SQLITE_NULL ? 0x0 : 0x8) /* sz */
5084
+ + (sqlite3_value_type(apVal[6])==SQLITE_NULL ? 0x0 : 0x4) /* rawdata */
5085
+ + (sqlite3_value_type(apVal[7])==SQLITE_NULL ? 0x0 : 0x2) /* data */
5086
+ + (sqlite3_value_type(apVal[8])==SQLITE_NULL ? 0x0 : 0x1); /* method */
5087
+ if( mNull==0x00 ){
5088
+ /* All four are NULL - this must be a directory */
5089
+ bIsDir = 1;
5090
+ }
5091
+ else if( mNull==0x2 || mNull==0x3 ){
5092
+ /* Value specified for "data", and possibly "method". This must be
5093
+ ** a regular file or a symlink. */
50885094
const u8 *aIn = sqlite3_value_blob(apVal[7]);
50895095
int nIn = sqlite3_value_bytes(apVal[7]);
50905096
int bAuto = sqlite3_value_type(apVal[8])==SQLITE_NULL;
50915097
50925098
iMethod = sqlite3_value_int(apVal[8]);
@@ -5103,16 +5109,14 @@
51035109
pData = aIn;
51045110
nData = nIn;
51055111
}
51065112
}
51075113
}
5108
- }else
5109
- if( sqlite3_value_type(apVal[5])!=SQLITE_NULL /* sz */
5110
- && sqlite3_value_type(apVal[6])!=SQLITE_NULL /* rawdata */
5111
- && sqlite3_value_type(apVal[7])==SQLITE_NULL /* data */
5112
- && sqlite3_value_type(apVal[8])!=SQLITE_NULL /* method */
5113
- ){
5114
+ }
5115
+ else if( mNull==0x0D ){
5116
+ /* Values specified for "sz", "rawdata" and "method". In other words,
5117
+ ** pre-compressed data is being inserted. */
51145118
pData = sqlite3_value_blob(apVal[6]);
51155119
nData = sqlite3_value_bytes(apVal[6]);
51165120
sz = sqlite3_value_int(apVal[5]);
51175121
iMethod = sqlite3_value_int(apVal[8]);
51185122
if( iMethod<0 || iMethod>65535 ){
@@ -5119,13 +5123,35 @@
51195123
pTab->base.zErrMsg = sqlite3_mprintf(
51205124
"zipfile: invalid compression method: %d", iMethod
51215125
);
51225126
rc = SQLITE_ERROR;
51235127
}
5124
- }else{
5128
+ }
5129
+ else{
51255130
rc = SQLITE_CONSTRAINT;
51265131
}
5132
+
5133
+ if( rc==SQLITE_OK ){
5134
+ rc = zipfileGetMode(pTab, apVal[3],
5135
+ (bIsDir ? (S_IFDIR + 0755) : (S_IFREG + 0644)), &mode
5136
+ );
5137
+ if( rc==SQLITE_OK && (bIsDir == ((mode & S_IFDIR)==0)) ){
5138
+ /* The "mode" attribute is a directory, but data has been specified.
5139
+ ** Or vice-versa - no data but "mode" is a file or symlink. */
5140
+ rc = SQLITE_CONSTRAINT;
5141
+ }
5142
+ }
5143
+
5144
+ if( rc==SQLITE_OK ){
5145
+ zPath = (const char*)sqlite3_value_text(apVal[2]);
5146
+ nPath = (int)strlen(zPath);
5147
+ if( sqlite3_value_type(apVal[4])==SQLITE_NULL ){
5148
+ mTime = (sqlite3_int64)time(0);
5149
+ }else{
5150
+ mTime = sqlite3_value_int64(apVal[4]);
5151
+ }
5152
+ }
51275153
51285154
if( rc==SQLITE_OK ){
51295155
/* Create the new CDS record. */
51305156
memset(&cds, 0, sizeof(cds));
51315157
cds.iVersionMadeBy = ZIPFILE_NEWENTRY_MADEBY;
51325158
--- src/shell.c
+++ src/shell.c
@@ -2074,11 +2074,11 @@
2074 # define dirent DIRENT
2075 # ifndef stat
2076 # define stat _stat
2077 # endif
2078 # define mkdir(path,mode) _mkdir(path)
2079 # define lstat(path,buf) _stat(path,buf)
2080 #endif
2081 #include <time.h>
2082 #include <errno.h>
2083
2084
@@ -4998,17 +4998,22 @@
4998 }
4999
5000 return rc;
5001 }
5002
5003 static int zipfileGetMode(ZipfileTab *pTab, sqlite3_value *pVal, int *pMode){
 
 
 
 
 
5004 const char *z = (const char*)sqlite3_value_text(pVal);
5005 int mode = 0;
5006 if( z==0 ){
5007 mode = 33188; /* -rw-r--r-- */
5008 }else if( z[0]>=0 && z[0]<=9 ){
5009 mode = sqlite3_value_int(pVal);
5010 }else{
5011 const char zTemplate[11] = "-rwxrwxrwx";
5012 int i;
5013 if( strlen(z)!=10 ) goto parse_error;
5014 switch( z[0] ){
@@ -5043,20 +5048,24 @@
5043 ){
5044 ZipfileTab *pTab = (ZipfileTab*)pVtab;
5045 int rc = SQLITE_OK; /* Return Code */
5046 ZipfileEntry *pNew = 0; /* New in-memory CDS entry */
5047
5048 int mode; /* Mode for new entry */
5049 i64 mTime; /* Modification time for new entry */
5050 i64 sz = 0; /* Uncompressed size */
5051 const char *zPath; /* Path for new entry */
5052 int nPath; /* strlen(zPath) */
5053 const u8 *pData = 0; /* Pointer to buffer containing content */
5054 int nData = 0; /* Size of pData buffer in bytes */
5055 int iMethod = 0; /* Compression method for new entry */
5056 u8 *pFree = 0; /* Free this */
5057 ZipfileCDS cds; /* New Central Directory Structure entry */
 
 
 
 
5058
5059 assert( pTab->zFile );
5060 assert( pTab->pWriteFd );
5061
5062 if( sqlite3_value_type(apVal[0])!=SQLITE_NULL ){
@@ -5069,24 +5078,21 @@
5069 }
5070 }
5071 if( nVal==1 ) return SQLITE_OK;
5072 }
5073
5074 zPath = (const char*)sqlite3_value_text(apVal[2]);
5075 nPath = (int)strlen(zPath);
5076 rc = zipfileGetMode(pTab, apVal[3], &mode);
5077 if( rc!=SQLITE_OK ) return rc;
5078 if( sqlite3_value_type(apVal[4])==SQLITE_NULL ){
5079 mTime = (sqlite3_int64)time(0);
5080 }else{
5081 mTime = sqlite3_value_int64(apVal[4]);
5082 }
5083
5084 if( sqlite3_value_type(apVal[5])==SQLITE_NULL /* sz */
5085 && sqlite3_value_type(apVal[6])==SQLITE_NULL /* rawdata */
5086 && sqlite3_value_type(apVal[7])!=SQLITE_NULL /* data */
5087 ){
5088 const u8 *aIn = sqlite3_value_blob(apVal[7]);
5089 int nIn = sqlite3_value_bytes(apVal[7]);
5090 int bAuto = sqlite3_value_type(apVal[8])==SQLITE_NULL;
5091
5092 iMethod = sqlite3_value_int(apVal[8]);
@@ -5103,16 +5109,14 @@
5103 pData = aIn;
5104 nData = nIn;
5105 }
5106 }
5107 }
5108 }else
5109 if( sqlite3_value_type(apVal[5])!=SQLITE_NULL /* sz */
5110 && sqlite3_value_type(apVal[6])!=SQLITE_NULL /* rawdata */
5111 && sqlite3_value_type(apVal[7])==SQLITE_NULL /* data */
5112 && sqlite3_value_type(apVal[8])!=SQLITE_NULL /* method */
5113 ){
5114 pData = sqlite3_value_blob(apVal[6]);
5115 nData = sqlite3_value_bytes(apVal[6]);
5116 sz = sqlite3_value_int(apVal[5]);
5117 iMethod = sqlite3_value_int(apVal[8]);
5118 if( iMethod<0 || iMethod>65535 ){
@@ -5119,13 +5123,35 @@
5119 pTab->base.zErrMsg = sqlite3_mprintf(
5120 "zipfile: invalid compression method: %d", iMethod
5121 );
5122 rc = SQLITE_ERROR;
5123 }
5124 }else{
 
5125 rc = SQLITE_CONSTRAINT;
5126 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5127
5128 if( rc==SQLITE_OK ){
5129 /* Create the new CDS record. */
5130 memset(&cds, 0, sizeof(cds));
5131 cds.iVersionMadeBy = ZIPFILE_NEWENTRY_MADEBY;
5132
--- src/shell.c
+++ src/shell.c
@@ -2074,11 +2074,11 @@
2074 # define dirent DIRENT
2075 # ifndef stat
2076 # define stat _stat
2077 # endif
2078 # define mkdir(path,mode) _mkdir(path)
2079 # define lstat(path,buf) stat(path,buf)
2080 #endif
2081 #include <time.h>
2082 #include <errno.h>
2083
2084
@@ -4998,17 +4998,22 @@
4998 }
4999
5000 return rc;
5001 }
5002
5003 static int zipfileGetMode(
5004 ZipfileTab *pTab,
5005 sqlite3_value *pVal,
5006 u32 defaultMode, /* Value to use if pVal IS NULL */
5007 u32 *pMode
5008 ){
5009 const char *z = (const char*)sqlite3_value_text(pVal);
5010 u32 mode = 0;
5011 if( z==0 ){
5012 mode = defaultMode;
5013 }else if( z[0]>=0 && z[0]<=9 ){
5014 mode = (unsigned int)sqlite3_value_int(pVal);
5015 }else{
5016 const char zTemplate[11] = "-rwxrwxrwx";
5017 int i;
5018 if( strlen(z)!=10 ) goto parse_error;
5019 switch( z[0] ){
@@ -5043,20 +5048,24 @@
5048 ){
5049 ZipfileTab *pTab = (ZipfileTab*)pVtab;
5050 int rc = SQLITE_OK; /* Return Code */
5051 ZipfileEntry *pNew = 0; /* New in-memory CDS entry */
5052
5053 u32 mode; /* Mode for new entry */
5054 i64 mTime; /* Modification time for new entry */
5055 i64 sz = 0; /* Uncompressed size */
5056 const char *zPath; /* Path for new entry */
5057 int nPath; /* strlen(zPath) */
5058 const u8 *pData = 0; /* Pointer to buffer containing content */
5059 int nData = 0; /* Size of pData buffer in bytes */
5060 int iMethod = 0; /* Compression method for new entry */
5061 u8 *pFree = 0; /* Free this */
5062 ZipfileCDS cds; /* New Central Directory Structure entry */
5063
5064 int bIsDir = 0;
5065
5066 int mNull;
5067
5068 assert( pTab->zFile );
5069 assert( pTab->pWriteFd );
5070
5071 if( sqlite3_value_type(apVal[0])!=SQLITE_NULL ){
@@ -5069,24 +5078,21 @@
5078 }
5079 }
5080 if( nVal==1 ) return SQLITE_OK;
5081 }
5082
5083 mNull = (sqlite3_value_type(apVal[5])==SQLITE_NULL ? 0x0 : 0x8) /* sz */
5084 + (sqlite3_value_type(apVal[6])==SQLITE_NULL ? 0x0 : 0x4) /* rawdata */
5085 + (sqlite3_value_type(apVal[7])==SQLITE_NULL ? 0x0 : 0x2) /* data */
5086 + (sqlite3_value_type(apVal[8])==SQLITE_NULL ? 0x0 : 0x1); /* method */
5087 if( mNull==0x00 ){
5088 /* All four are NULL - this must be a directory */
5089 bIsDir = 1;
5090 }
5091 else if( mNull==0x2 || mNull==0x3 ){
5092 /* Value specified for "data", and possibly "method". This must be
5093 ** a regular file or a symlink. */
 
 
 
5094 const u8 *aIn = sqlite3_value_blob(apVal[7]);
5095 int nIn = sqlite3_value_bytes(apVal[7]);
5096 int bAuto = sqlite3_value_type(apVal[8])==SQLITE_NULL;
5097
5098 iMethod = sqlite3_value_int(apVal[8]);
@@ -5103,16 +5109,14 @@
5109 pData = aIn;
5110 nData = nIn;
5111 }
5112 }
5113 }
5114 }
5115 else if( mNull==0x0D ){
5116 /* Values specified for "sz", "rawdata" and "method". In other words,
5117 ** pre-compressed data is being inserted. */
 
 
5118 pData = sqlite3_value_blob(apVal[6]);
5119 nData = sqlite3_value_bytes(apVal[6]);
5120 sz = sqlite3_value_int(apVal[5]);
5121 iMethod = sqlite3_value_int(apVal[8]);
5122 if( iMethod<0 || iMethod>65535 ){
@@ -5119,13 +5123,35 @@
5123 pTab->base.zErrMsg = sqlite3_mprintf(
5124 "zipfile: invalid compression method: %d", iMethod
5125 );
5126 rc = SQLITE_ERROR;
5127 }
5128 }
5129 else{
5130 rc = SQLITE_CONSTRAINT;
5131 }
5132
5133 if( rc==SQLITE_OK ){
5134 rc = zipfileGetMode(pTab, apVal[3],
5135 (bIsDir ? (S_IFDIR + 0755) : (S_IFREG + 0644)), &mode
5136 );
5137 if( rc==SQLITE_OK && (bIsDir == ((mode & S_IFDIR)==0)) ){
5138 /* The "mode" attribute is a directory, but data has been specified.
5139 ** Or vice-versa - no data but "mode" is a file or symlink. */
5140 rc = SQLITE_CONSTRAINT;
5141 }
5142 }
5143
5144 if( rc==SQLITE_OK ){
5145 zPath = (const char*)sqlite3_value_text(apVal[2]);
5146 nPath = (int)strlen(zPath);
5147 if( sqlite3_value_type(apVal[4])==SQLITE_NULL ){
5148 mTime = (sqlite3_int64)time(0);
5149 }else{
5150 mTime = sqlite3_value_int64(apVal[4]);
5151 }
5152 }
5153
5154 if( rc==SQLITE_OK ){
5155 /* Create the new CDS record. */
5156 memset(&cds, 0, sizeof(cds));
5157 cds.iVersionMadeBy = ZIPFILE_NEWENTRY_MADEBY;
5158
+3 -3
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1147,11 +1147,11 @@
11471147
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
11481148
** [sqlite_version()] and [sqlite_source_id()].
11491149
*/
11501150
#define SQLITE_VERSION "3.22.0"
11511151
#define SQLITE_VERSION_NUMBER 3022000
1152
-#define SQLITE_SOURCE_ID "2018-01-09 02:27:13 cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f539b4e"
1152
+#define SQLITE_SOURCE_ID "2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c6698f53"
11531153
11541154
/*
11551155
** CAPI3REF: Run-Time Library Version Numbers
11561156
** KEYWORDS: sqlite3_version sqlite3_sourceid
11571157
**
@@ -202941,11 +202941,11 @@
202941202941
int nArg, /* Number of args */
202942202942
sqlite3_value **apUnused /* Function arguments */
202943202943
){
202944202944
assert( nArg==0 );
202945202945
UNUSED_PARAM2(nArg, apUnused);
202946
- sqlite3_result_text(pCtx, "fts5: 2018-01-09 00:28:24 4a7236140cb0f40fa846da4673a0d56218def1929d58cf016909ce881a681140", -1, SQLITE_TRANSIENT);
202946
+ sqlite3_result_text(pCtx, "fts5: 2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c6698f53", -1, SQLITE_TRANSIENT);
202947202947
}
202948202948
202949202949
static int fts5Init(sqlite3 *db){
202950202950
static const sqlite3_module fts5Mod = {
202951202951
/* iVersion */ 2,
@@ -207211,10 +207211,10 @@
207211207211
#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
207212207212
207213207213
/************** End of stmt.c ************************************************/
207214207214
#if __LINE__!=207214
207215207215
#undef SQLITE_SOURCE_ID
207216
-#define SQLITE_SOURCE_ID "2018-01-09 02:27:13 cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f53alt2"
207216
+#define SQLITE_SOURCE_ID "2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c669alt2"
207217207217
#endif
207218207218
/* Return the source-id for this library */
207219207219
SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
207220207220
/************************** End of sqlite3.c ******************************/
207221207221
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1147,11 +1147,11 @@
1147 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
1148 ** [sqlite_version()] and [sqlite_source_id()].
1149 */
1150 #define SQLITE_VERSION "3.22.0"
1151 #define SQLITE_VERSION_NUMBER 3022000
1152 #define SQLITE_SOURCE_ID "2018-01-09 02:27:13 cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f539b4e"
1153
1154 /*
1155 ** CAPI3REF: Run-Time Library Version Numbers
1156 ** KEYWORDS: sqlite3_version sqlite3_sourceid
1157 **
@@ -202941,11 +202941,11 @@
202941 int nArg, /* Number of args */
202942 sqlite3_value **apUnused /* Function arguments */
202943 ){
202944 assert( nArg==0 );
202945 UNUSED_PARAM2(nArg, apUnused);
202946 sqlite3_result_text(pCtx, "fts5: 2018-01-09 00:28:24 4a7236140cb0f40fa846da4673a0d56218def1929d58cf016909ce881a681140", -1, SQLITE_TRANSIENT);
202947 }
202948
202949 static int fts5Init(sqlite3 *db){
202950 static const sqlite3_module fts5Mod = {
202951 /* iVersion */ 2,
@@ -207211,10 +207211,10 @@
207211 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
207212
207213 /************** End of stmt.c ************************************************/
207214 #if __LINE__!=207214
207215 #undef SQLITE_SOURCE_ID
207216 #define SQLITE_SOURCE_ID "2018-01-09 02:27:13 cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f53alt2"
207217 #endif
207218 /* Return the source-id for this library */
207219 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
207220 /************************** End of sqlite3.c ******************************/
207221
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1147,11 +1147,11 @@
1147 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
1148 ** [sqlite_version()] and [sqlite_source_id()].
1149 */
1150 #define SQLITE_VERSION "3.22.0"
1151 #define SQLITE_VERSION_NUMBER 3022000
1152 #define SQLITE_SOURCE_ID "2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c6698f53"
1153
1154 /*
1155 ** CAPI3REF: Run-Time Library Version Numbers
1156 ** KEYWORDS: sqlite3_version sqlite3_sourceid
1157 **
@@ -202941,11 +202941,11 @@
202941 int nArg, /* Number of args */
202942 sqlite3_value **apUnused /* Function arguments */
202943 ){
202944 assert( nArg==0 );
202945 UNUSED_PARAM2(nArg, apUnused);
202946 sqlite3_result_text(pCtx, "fts5: 2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c6698f53", -1, SQLITE_TRANSIENT);
202947 }
202948
202949 static int fts5Init(sqlite3 *db){
202950 static const sqlite3_module fts5Mod = {
202951 /* iVersion */ 2,
@@ -207211,10 +207211,10 @@
207211 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
207212
207213 /************** End of stmt.c ************************************************/
207214 #if __LINE__!=207214
207215 #undef SQLITE_SOURCE_ID
207216 #define SQLITE_SOURCE_ID "2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c669alt2"
207217 #endif
207218 /* Return the source-id for this library */
207219 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
207220 /************************** End of sqlite3.c ******************************/
207221
+1 -1
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -123,11 +123,11 @@
123123
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124124
** [sqlite_version()] and [sqlite_source_id()].
125125
*/
126126
#define SQLITE_VERSION "3.22.0"
127127
#define SQLITE_VERSION_NUMBER 3022000
128
-#define SQLITE_SOURCE_ID "2018-01-09 02:27:13 cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f539b4e"
128
+#define SQLITE_SOURCE_ID "2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c6698f53"
129129
130130
/*
131131
** CAPI3REF: Run-Time Library Version Numbers
132132
** KEYWORDS: sqlite3_version sqlite3_sourceid
133133
**
134134
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -123,11 +123,11 @@
123 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124 ** [sqlite_version()] and [sqlite_source_id()].
125 */
126 #define SQLITE_VERSION "3.22.0"
127 #define SQLITE_VERSION_NUMBER 3022000
128 #define SQLITE_SOURCE_ID "2018-01-09 02:27:13 cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f539b4e"
129
130 /*
131 ** CAPI3REF: Run-Time Library Version Numbers
132 ** KEYWORDS: sqlite3_version sqlite3_sourceid
133 **
134
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -123,11 +123,11 @@
123 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124 ** [sqlite_version()] and [sqlite_source_id()].
125 */
126 #define SQLITE_VERSION "3.22.0"
127 #define SQLITE_VERSION_NUMBER 3022000
128 #define SQLITE_SOURCE_ID "2018-01-09 14:27:58 a7446d3217d39c96c884fbfb294dd320378255f3bfb34e35d15ba6d7c6698f53"
129
130 /*
131 ** CAPI3REF: Run-Time Library Version Numbers
132 ** KEYWORDS: sqlite3_version sqlite3_sourceid
133 **
134

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button