Fossil SCM
Malformed manifest error when committing non-ascii-named files
Fixed
5982aa506467d6a…
· opened 14 years, 9 months ago
- Type
- Code_Defect
- Priority
- —
- Severity
- Important
- Resolution
- Fixed
- Subsystem
- —
- Created
- June 29, 2011 10:53 a.m.
Problem is actual since check-in [32ad9a1584] after closing ticket [3f0216560679fd41]. When using only ascii (ansi) names all's ok.
How to reproduce:
$ fossil new local.fossil
project-id: 6ebb7aa8bba00a717242424eb34e5210a90e3551
server-id: 1f0d2c5e79252d625ddd9db92be893702b4e394a
admin-user: flanker (initial password is "******")
$ fossil open local.fossil
$ fossil add "Приложение 3.doc"
ADDED Приложение 3.doc
$ fossil commit -m "test"
New_Version: d709fe4fa6e2e544ccdc170bce9ee7025273ce95
$ fossil add 123.txt
ADDED 123.txt
$ fossil commit -m "test2"
New_Version: 8f10304d006b7c39d9ed422985a67604863a4290
fossil: manifest file (5) is malformed
The most sensitive change in this check-in was:
+int fossil_strcmp(const char *zA, const char *zB){
+ if( zA==0 ){
+ if( zB==0 ) return 0;
+ return -1;
+ }else if( zB==0 ){
+ return +1;
+ }else{
+ int a, b;
+ do{
+ a = *zA++;
+ b = *zB++;
+ }while( a==b && a!=0 );
+ return a - b;
}
}
Author said that this function can compare strings without considering locale. Maybe problem is here.