/ Check-in [29b0a4f1]
Login

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

Overview
Comment:Better loadable extension handling in the Win32 VFS when compiled for Cygwin.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 29b0a4f158785449b6f3da6fcceeb63442c9711c
User & Date: mistachkin 2014-03-06 00:30:27
Context
2014-03-06
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. check-in: b83cfe89 user: drh tags: trunk
00:30
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. check-in: 29b0a4f1 user: mistachkin tags: trunk
00:28
Better support for MinGW 4.x. check-in: 170e0585 user: mistachkin tags: trunk
2014-02-24
21:23
Merge updates from trunk. Closed-Leaf check-in: 854d410a user: mistachkin tags: cygDlOpen
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/os_win.c.

  5133   5133   #ifndef SQLITE_OMIT_LOAD_EXTENSION
  5134   5134   /*
  5135   5135   ** Interfaces for opening a shared library, finding entry points
  5136   5136   ** within the shared library, and closing the shared library.
  5137   5137   */
  5138   5138   static void *winDlOpen(sqlite3_vfs *pVfs, const char *zFilename){
  5139   5139     HANDLE h;
         5140  +#if defined(__CYGWIN__)
         5141  +  int nFull = pVfs->mxPathname+1;
         5142  +  char *zFull = sqlite3MallocZero( nFull );
         5143  +  void *zConverted = 0;
         5144  +  if( zFull==0 ){
         5145  +    OSTRACE(("DLOPEN name=%s, handle=%p\n", zFilename, (void*)0));
         5146  +    return 0;
         5147  +  }
         5148  +  if( winFullPathname(pVfs, zFilename, nFull, zFull)!=SQLITE_OK ){
         5149  +    sqlite3_free(zFull);
         5150  +    OSTRACE(("DLOPEN name=%s, handle=%p\n", zFilename, (void*)0));
         5151  +    return 0;
         5152  +  }
         5153  +  zConverted = winConvertFromUtf8Filename(zFull);
         5154  +  sqlite3_free(zFull);
         5155  +#else
  5140   5156     void *zConverted = winConvertFromUtf8Filename(zFilename);
  5141   5157     UNUSED_PARAMETER(pVfs);
         5158  +#endif
  5142   5159     if( zConverted==0 ){
  5143   5160       OSTRACE(("DLOPEN name=%s, handle=%p\n", zFilename, (void*)0));
  5144   5161       return 0;
  5145   5162     }
  5146   5163     if( osIsNT() ){
  5147   5164   #if SQLITE_OS_WINRT
  5148   5165       h = osLoadPackagedLibrary((LPCWSTR)zConverted, 0);