@@ -655,25 +655,28 @@
655 655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char zSep[2];
656 656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
size_t nDir;
657 657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u64 r[2];
658 658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
659 659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef _WIN32
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char zTempDir[1000];
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zTempDirA = NULL;
661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ WCHAR zTempDirW[MAX_PATH+1];
662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const DWORD dwTempSizeW = sizeof(zTempDirW)/sizeof(zTempDirW[0]);
663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ DWORD dwTempLenW;
661 664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#else
662 665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static const char *azTmp[] = {"/var/tmp","/usr/tmp","/tmp"};
663 666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
664 667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.db ){
665 668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_file_control(g.db, 0, SQLITE_FCNTL_TEMPFILENAME, (void*)&zTFile);
666 669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTFile ) return zTFile;
667 670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
668 671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_randomness(sizeof(r), &r);
669 672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if _WIN32
670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zTempDir[0] = 0;
671 673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cDirSep = '\\';
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- GetTempPathA(sizeof(zTempDir), zTempDir);
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zTempDir[0] ){
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDir = zTempDir;
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dwTempLenW = GetTempPathW(dwTempSizeW, zTempDirW);
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( dwTempLenW>0 && dwTempLenW<dwTempSizeW
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && ( zTempDirA = fossil_path_to_utf8(zTempDirW) )){
677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zDir = zTempDirA;
675 678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
676 679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDir = fossil_getenv("LOCALAPPDATA");
677 680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zDir==0 ) zDir = ".";
678 681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
679 682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#else
@@ -688,11 +691,15 @@
688 691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cDirSep = '/';
689 692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
690 693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nDir = strlen(zDir);
691 694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSep[1] = 0;
692 695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSep[0] = (nDir && zDir[nDir-1]==cDirSep) ? 0 : cDirSep;
693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return sqlite3_mprintf("%s%sfossil%016llx%016llx", zDir,zSep,r[0],r[1]);
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTFile = sqlite3_mprintf("%s%sfossil%016llx%016llx", zDir,zSep,r[0],r[1]);
697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifdef _WIN32
698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zTempDirA ) fossil_path_free(zTempDirA);
699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return zTFile;
694 701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
695 702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
696 703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
697 704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Turn memory limits for stack and heap on and off. The argument
698 705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is true to turn memory limits on and false to turn them off.
699 706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!