/ Check-in [780d06c5]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:780d06c5e54590f677f993fa9c313989c2eab8c7
User & Date: drh 2013-03-01 23:40:26
Context
2013-03-02
03:25
Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. check-in: 9a135e37 user: drh tags: trunk
2013-03-01
23:40
Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. check-in: 780d06c5 user: drh tags: trunk
23:24
Update the cygwin interface to use the newer 1.7 APIs instead of the 1.5 APIs. Also shorten over-length source code lines in os_win.c. check-in: 6b283833 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/func.c.

   968    968   */
   969    969   static void unicodeFunc(
   970    970     sqlite3_context *context,
   971    971     int argc,
   972    972     sqlite3_value **argv
   973    973   ){
   974    974     const unsigned char *z = sqlite3_value_text(argv[0]);
          975  +  (void)argc;
   975    976     if( z && z[0] ) sqlite3_result_int(context, sqlite3Utf8Read(&z));
   976    977   }
   977    978   
   978    979   /*
   979    980   ** The char() function takes zero or more arguments, each of which is
   980    981   ** an integer.  It constructs a string where each character of the string
   981    982   ** is the unicode character for the corresponding integer argument.

Changes to src/loadext.c.

   374    374     0,
   375    375     0,
   376    376     0,
   377    377   #endif
   378    378     sqlite3_blob_reopen,
   379    379     sqlite3_vtab_config,
   380    380     sqlite3_vtab_on_conflict,
          381  +  sqlite3_close_v2,
          382  +  sqlite3_db_filename,
          383  +  sqlite3_db_readonly,
          384  +  sqlite3_db_release_memory,
          385  +  sqlite3_errstr,
          386  +  sqlite3_stmt_busy,
          387  +  sqlite3_stmt_readonly,
          388  +  sqlite3_stricmp,
          389  +  sqlite3_uri_boolean,
          390  +  sqlite3_uri_int64,
          391  +  sqlite3_uri_parameter,
          392  +  sqlite3_vsnprintf,
          393  +  sqlite3_wal_checkpoint_v2
   381    394   };
   382    395   
   383    396   /*
   384    397   ** Attempt to load an SQLite extension library contained in the file
   385    398   ** zFile.  The entry point is zProc.  zProc may be 0 in which case a
   386    399   ** default entry point name (sqlite3_extension_init) is used.  Use
   387    400   ** of the default name is recommended.

Changes to src/test_regexp.c.

   103    103   typedef struct ReCompiled ReCompiled;
   104    104   struct ReCompiled {
   105    105     ReInput sIn;                /* Regular expression text */
   106    106     const char *zErr;           /* Error message to return */
   107    107     char *aOp;                  /* Operators for the virtual machine */
   108    108     int *aArg;                  /* Arguments to each operator */
   109    109     unsigned (*xNextChar)(ReInput*);  /* Next character function */
   110         -  char zInit[12];             /* Initial text to match */
          110  +  unsigned char zInit[12];    /* Initial text to match */
   111    111     int nInit;                  /* Number of characters in zInit */
   112    112     unsigned nState;            /* Number of entries in aOp[] and aArg[] */
   113    113     unsigned nAlloc;            /* Slots allocated for aOp[] and aArg[] */
   114    114   };
   115    115   
   116    116   /* Add a state to the given state set if it is not already there */
   117    117   static void re_add_state(ReStateSet *pSet, int newState){
................................................................................
   190    190     in.i = 0;
   191    191     in.mx = nIn>=0 ? nIn : strlen((char const*)zIn);
   192    192   
   193    193     /* Look for the initial prefix match, if there is one. */
   194    194     if( pRe->nInit ){
   195    195       unsigned char x = pRe->zInit[0];
   196    196       while( in.i+pRe->nInit<=in.mx 
   197         -        && (zIn[in.i]!=x || strncmp(zIn+in.i, pRe->zInit, pRe->nInit)!=0)
          197  +     && (zIn[in.i]!=x ||
          198  +         strncmp((const char*)zIn+in.i, (const char*)pRe->zInit, pRe->nInit)!=0)
   198    199       ){
   199    200         in.i++;
   200    201       }
   201    202       if( in.i+pRe->nInit>in.mx ) return 0;
   202    203     }
   203    204   
   204    205     if( pRe->nState<=(sizeof(aSpace)/(sizeof(aSpace[0])*2)) ){