Fossil SCM

Merge trunk. Valid extended paths must have >6 chars, e.g. "\\?\C:\" (+1 for closing '\0'), this way make sure that wUnicode always points to allocated memory.

jan.nijtmans 2013-12-18 08:11 win32-longpath merge
Commit 1db9134d6b56195794ad6851fabd70b4c96736da
3 files changed +1 -1 +1 -1 +1 -1
+1 -1
--- src/skins.c
+++ src/skins.c
@@ -1241,11 +1241,11 @@
12411241
@ This page was generated in about
12421242
@ <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
12431243
@ <a href="$fossilUrl/">Fossil</a>
12441244
@ version $release_version $tclVersion
12451245
@ <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
1246
-@ <a href="$fossilUrl/fossil/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
1246
+@ <a href="$fossilUrl/index.html/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
12471247
@ </div>
12481248
@ </body></html>
12491249
@ ');
12501250
;
12511251
12521252
--- src/skins.c
+++ src/skins.c
@@ -1241,11 +1241,11 @@
1241 @ This page was generated in about
1242 @ <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
1243 @ <a href="$fossilUrl/">Fossil</a>
1244 @ version $release_version $tclVersion
1245 @ <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
1246 @ <a href="$fossilUrl/fossil/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
1247 @ </div>
1248 @ </body></html>
1249 @ ');
1250 ;
1251
1252
--- src/skins.c
+++ src/skins.c
@@ -1241,11 +1241,11 @@
1241 @ This page was generated in about
1242 @ <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
1243 @ <a href="$fossilUrl/">Fossil</a>
1244 @ version $release_version $tclVersion
1245 @ <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
1246 @ <a href="$fossilUrl/index.html/timeline?c=$manifest_date&amp;y=ci">$manifest_date</a>
1247 @ </div>
1248 @ </body></html>
1249 @ ');
1250 ;
1251
1252
+1 -1
--- src/utf8.c
+++ src/utf8.c
@@ -214,11 +214,11 @@
214214
wUnicode += 3;
215215
MultiByteToWideChar(CP_UTF8, 0, zUtf8+3, -1, wUnicode, nChar-3);
216216
}
217217
}else if( (zUtf8[0]=='\\' || zUtf8[0]=='/') &&
218218
(zUtf8[1]=='\\' || zUtf8[1]=='/') ) {
219
- if( zUtf8[2]=='?' && nChar>5 ){
219
+ if( zUtf8[2]=='?' && nChar>7 ){
220220
/* Don't postprocess [?:] in extended path, but do '/' -> '\' */
221221
memcpy(zUnicode, L"\\\\", 2 * sizeof(wchar_t));
222222
MultiByteToWideChar(CP_UTF8, 0, zUtf8+2, -1, zUnicode+2, nChar-2);
223223
if( zUtf8[3]=='/' ) zUnicode[3]='\\';
224224
wUnicode += 6;
225225
--- src/utf8.c
+++ src/utf8.c
@@ -214,11 +214,11 @@
214 wUnicode += 3;
215 MultiByteToWideChar(CP_UTF8, 0, zUtf8+3, -1, wUnicode, nChar-3);
216 }
217 }else if( (zUtf8[0]=='\\' || zUtf8[0]=='/') &&
218 (zUtf8[1]=='\\' || zUtf8[1]=='/') ) {
219 if( zUtf8[2]=='?' && nChar>5 ){
220 /* Don't postprocess [?:] in extended path, but do '/' -> '\' */
221 memcpy(zUnicode, L"\\\\", 2 * sizeof(wchar_t));
222 MultiByteToWideChar(CP_UTF8, 0, zUtf8+2, -1, zUnicode+2, nChar-2);
223 if( zUtf8[3]=='/' ) zUnicode[3]='\\';
224 wUnicode += 6;
225
--- src/utf8.c
+++ src/utf8.c
@@ -214,11 +214,11 @@
214 wUnicode += 3;
215 MultiByteToWideChar(CP_UTF8, 0, zUtf8+3, -1, wUnicode, nChar-3);
216 }
217 }else if( (zUtf8[0]=='\\' || zUtf8[0]=='/') &&
218 (zUtf8[1]=='\\' || zUtf8[1]=='/') ) {
219 if( zUtf8[2]=='?' && nChar>7 ){
220 /* Don't postprocess [?:] in extended path, but do '/' -> '\' */
221 memcpy(zUnicode, L"\\\\", 2 * sizeof(wchar_t));
222 MultiByteToWideChar(CP_UTF8, 0, zUtf8+2, -1, zUnicode+2, nChar-2);
223 if( zUtf8[3]=='/' ) zUnicode[3]='\\';
224 wUnicode += 6;
225
+1 -1
--- src/utf8.c
+++ src/utf8.c
@@ -214,11 +214,11 @@
214214
wUnicode += 3;
215215
MultiByteToWideChar(CP_UTF8, 0, zUtf8+3, -1, wUnicode, nChar-3);
216216
}
217217
}else if( (zUtf8[0]=='\\' || zUtf8[0]=='/') &&
218218
(zUtf8[1]=='\\' || zUtf8[1]=='/') ) {
219
- if( zUtf8[2]=='?' && nChar>5 ){
219
+ if( zUtf8[2]=='?' && nChar>7 ){
220220
/* Don't postprocess [?:] in extended path, but do '/' -> '\' */
221221
memcpy(zUnicode, L"\\\\", 2 * sizeof(wchar_t));
222222
MultiByteToWideChar(CP_UTF8, 0, zUtf8+2, -1, zUnicode+2, nChar-2);
223223
if( zUtf8[3]=='/' ) zUnicode[3]='\\';
224224
wUnicode += 6;
225225
--- src/utf8.c
+++ src/utf8.c
@@ -214,11 +214,11 @@
214 wUnicode += 3;
215 MultiByteToWideChar(CP_UTF8, 0, zUtf8+3, -1, wUnicode, nChar-3);
216 }
217 }else if( (zUtf8[0]=='\\' || zUtf8[0]=='/') &&
218 (zUtf8[1]=='\\' || zUtf8[1]=='/') ) {
219 if( zUtf8[2]=='?' && nChar>5 ){
220 /* Don't postprocess [?:] in extended path, but do '/' -> '\' */
221 memcpy(zUnicode, L"\\\\", 2 * sizeof(wchar_t));
222 MultiByteToWideChar(CP_UTF8, 0, zUtf8+2, -1, zUnicode+2, nChar-2);
223 if( zUtf8[3]=='/' ) zUnicode[3]='\\';
224 wUnicode += 6;
225
--- src/utf8.c
+++ src/utf8.c
@@ -214,11 +214,11 @@
214 wUnicode += 3;
215 MultiByteToWideChar(CP_UTF8, 0, zUtf8+3, -1, wUnicode, nChar-3);
216 }
217 }else if( (zUtf8[0]=='\\' || zUtf8[0]=='/') &&
218 (zUtf8[1]=='\\' || zUtf8[1]=='/') ) {
219 if( zUtf8[2]=='?' && nChar>7 ){
220 /* Don't postprocess [?:] in extended path, but do '/' -> '\' */
221 memcpy(zUnicode, L"\\\\", 2 * sizeof(wchar_t));
222 MultiByteToWideChar(CP_UTF8, 0, zUtf8+2, -1, zUnicode+2, nChar-2);
223 if( zUtf8[3]=='/' ) zUnicode[3]='\\';
224 wUnicode += 6;
225

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button