Fossil

Diff
Login

Differences From Artifact [21f65fcaa4]:

To Artifact [373885cc5c]:


35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
    }
    zWideFilename = sqlite3MallocZero( (nChar*sizeof(zWideFilename[0]))+12 );
    if( zWideFilename==0 ){
      return 0;
    }
    if( winIsDirSep(zFilename[0]) && winIsDirSep(zFilename[1]) ){
      memcpy(zWideFilename, L"\\\\?\\UNC\\", 16);
      nChar = osMultiByteToWideChar(CP_UTF8, 0, zFilename, -1, zWideFilename+6,
                                    nChar);
    }else if( winIsDriveLetterAndColon(zFilename) && winIsDirSep(zFilename[2])) {
      memcpy(zWideFilename, L"\\\\?\\", 8);
      nChar = osMultiByteToWideChar(CP_UTF8, 0, zFilename, -1, zWideFilename+4,
                                    nChar);
      zWideFilename[6] = '\\';
    }else{







|







35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
    }
    zWideFilename = sqlite3MallocZero( (nChar*sizeof(zWideFilename[0]))+12 );
    if( zWideFilename==0 ){
      return 0;
    }
    if( winIsDirSep(zFilename[0]) && winIsDirSep(zFilename[1]) ){
      memcpy(zWideFilename, L"\\\\?\\UNC\\", 16);
      nChar = osMultiByteToWideChar(CP_UTF8, 0, zFilename+2, -1, zWideFilename+8,
                                    nChar);
    }else if( winIsDriveLetterAndColon(zFilename) && winIsDirSep(zFilename[2])) {
      memcpy(zWideFilename, L"\\\\?\\", 8);
      nChar = osMultiByteToWideChar(CP_UTF8, 0, zFilename, -1, zWideFilename+4,
                                    nChar);
      zWideFilename[6] = '\\';
    }else{
36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
    sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s%c%s",
                     sqlite3_data_directory, winGetDirSep(), zRelative);
    return SQLITE_OK;
  }
  if( osIsNT() ){
    zConverted = winUtf8ToUnicode(zRelative);
  }else{
    zConverted = sqlite3_win32_utf8_to_mbcs(zFilename);;
  }
  if( zConverted==0 ){
    return SQLITE_IOERR_NOMEM;
  }
  if( osIsNT() ){
    LPWSTR zTemp;
    nByte = osGetFullPathNameW((LPCWSTR)zConverted, 0, 0, 0);







|







36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
    sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s%c%s",
                     sqlite3_data_directory, winGetDirSep(), zRelative);
    return SQLITE_OK;
  }
  if( osIsNT() ){
    zConverted = winUtf8ToUnicode(zRelative);
  }else{
    zConverted = sqlite3_win32_utf8_to_mbcs(zRelative);
  }
  if( zConverted==0 ){
    return SQLITE_IOERR_NOMEM;
  }
  if( osIsNT() ){
    LPWSTR zTemp;
    nByte = osGetFullPathNameW((LPCWSTR)zConverted, 0, 0, 0);