Index: third_party/sqlite/sqlite-src-3080704/ext/misc/compress.c |
diff --git a/third_party/sqlite/sqlite-src-3080704/ext/misc/compress.c b/third_party/sqlite/sqlite-src-3080704/ext/misc/compress.c |
deleted file mode 100644 |
index a4059116c9e4c981b1345fca9bb9c0edf35dcb4b..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3080704/ext/misc/compress.c |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-/* |
-** 2014-06-13 |
-** |
-** The author disclaims copyright to this source code. In place of |
-** a legal notice, here is a blessing: |
-** |
-** May you do good and not evil. |
-** May you find forgiveness for yourself and forgive others. |
-** May you share freely, never taking more than you give. |
-** |
-****************************************************************************** |
-** |
-** This SQLite extension implements SQL compression functions |
-** compress() and uncompress() using ZLIB. |
-*/ |
-#include "sqlite3ext.h" |
-SQLITE_EXTENSION_INIT1 |
-#include <zlib.h> |
- |
-/* |
-** Implementation of the "compress(X)" SQL function. The input X is |
-** compressed using zLib and the output is returned. |
-** |
-** The output is a BLOB that begins with a variable-length integer that |
-** is the input size in bytes (the size of X before compression). The |
-** variable-length integer is implemented as 1 to 5 bytes. There are |
-** seven bits per integer stored in the lower seven bits of each byte. |
-** More significant bits occur first. The most significant bit (0x80) |
-** is a flag to indicate the end of the integer. |
-*/ |
-static void compressFunc( |
- sqlite3_context *context, |
- int argc, |
- sqlite3_value **argv |
-){ |
- const unsigned char *pIn; |
- unsigned char *pOut; |
- unsigned int nIn; |
- unsigned long int nOut; |
- unsigned char x[8]; |
- int i, j; |
- |
- pIn = sqlite3_value_blob(argv[0]); |
- nIn = sqlite3_value_bytes(argv[0]); |
- nOut = 13 + nIn + (nIn+999)/1000; |
- pOut = sqlite3_malloc( nOut+5 ); |
- for(i=4; i>=0; i--){ |
- x[i] = (nIn >> (7*(4-i)))&0x7f; |
- } |
- for(i=0; i<4 && x[i]==0; i++){} |
- for(j=0; i<=4; i++, j++) pOut[j] = x[i]; |
- pOut[j-1] |= 0x80; |
- compress(&pOut[j], &nOut, pIn, nIn); |
- sqlite3_result_blob(context, pOut, nOut+j, sqlite3_free); |
-} |
- |
-/* |
-** Implementation of the "uncompress(X)" SQL function. The argument X |
-** is a blob which was obtained from compress(Y). The output will be |
-** the value Y. |
-*/ |
-static void uncompressFunc( |
- sqlite3_context *context, |
- int argc, |
- sqlite3_value **argv |
-){ |
- const unsigned char *pIn; |
- unsigned char *pOut; |
- unsigned int nIn; |
- unsigned long int nOut; |
- int rc; |
- int i; |
- |
- pIn = sqlite3_value_blob(argv[0]); |
- nIn = sqlite3_value_bytes(argv[0]); |
- nOut = 0; |
- for(i=0; i<nIn && i<5; i++){ |
- nOut = (nOut<<7) | (pIn[i]&0x7f); |
- if( (pIn[i]&0x80)!=0 ){ i++; break; } |
- } |
- pOut = sqlite3_malloc( nOut+1 ); |
- rc = uncompress(pOut, &nOut, &pIn[i], nIn-i); |
- if( rc==Z_OK ){ |
- sqlite3_result_blob(context, pOut, nOut, sqlite3_free); |
- } |
-} |
- |
- |
-#ifdef _WIN32 |
-__declspec(dllexport) |
-#endif |
-int sqlite3_compress_init( |
- sqlite3 *db, |
- char **pzErrMsg, |
- const sqlite3_api_routines *pApi |
-){ |
- int rc = SQLITE_OK; |
- SQLITE_EXTENSION_INIT2(pApi); |
- (void)pzErrMsg; /* Unused parameter */ |
- rc = sqlite3_create_function(db, "compress", 1, SQLITE_UTF8, 0, |
- compressFunc, 0, 0); |
- if( rc==SQLITE_OK ){ |
- rc = sqlite3_create_function(db, "uncompress", 1, SQLITE_UTF8, 0, |
- uncompressFunc, 0, 0); |
- } |
- return rc; |
-} |