Fossil SCM

Improved tarball filename normalization.

drh 2025-10-19 17:57 timeline-enhance-2025
Commit 1d44e89013f779856ee62495ac423b25d5f625cde5d594aee2436bf82172bbf5
1 file changed +6 -2
+6 -2
--- src/tar.c
+++ src/tar.c
@@ -42,12 +42,16 @@
4242
char c;
4343
for(i=0; (c = zName[i])!=0; i++){
4444
if( fossil_isupper(c) ){
4545
zName[i] = fossil_tolower(c);
4646
}else if( !fossil_isalnum(c) && c!='_' && c!='-' ){
47
- /* 123456789 123456789 123456 */
48
- zName[i] = "abcdefghijklmnopqrstuvwxyz"[(unsigned)c%26];
47
+ if( c<=0x7f ){
48
+ zName[i] = '_';
49
+ }else{
50
+ /* 123456789 123456789 123456 */
51
+ zName[i] = "abcdefghijklmnopqrstuvwxyz"[(unsigned)c%26];
52
+ }
4953
}
5054
}
5155
}
5256
5357
/*
5458
--- src/tar.c
+++ src/tar.c
@@ -42,12 +42,16 @@
42 char c;
43 for(i=0; (c = zName[i])!=0; i++){
44 if( fossil_isupper(c) ){
45 zName[i] = fossil_tolower(c);
46 }else if( !fossil_isalnum(c) && c!='_' && c!='-' ){
47 /* 123456789 123456789 123456 */
48 zName[i] = "abcdefghijklmnopqrstuvwxyz"[(unsigned)c%26];
 
 
 
 
49 }
50 }
51 }
52
53 /*
54
--- src/tar.c
+++ src/tar.c
@@ -42,12 +42,16 @@
42 char c;
43 for(i=0; (c = zName[i])!=0; i++){
44 if( fossil_isupper(c) ){
45 zName[i] = fossil_tolower(c);
46 }else if( !fossil_isalnum(c) && c!='_' && c!='-' ){
47 if( c<=0x7f ){
48 zName[i] = '_';
49 }else{
50 /* 123456789 123456789 123456 */
51 zName[i] = "abcdefghijklmnopqrstuvwxyz"[(unsigned)c%26];
52 }
53 }
54 }
55 }
56
57 /*
58

Keyboard Shortcuts

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