Differences From Artifact [10ef2566f5]:
- File
src/file.c
— part of check-in
[af194dbb16]
at
2014-01-09 11:24:23
on branch trunk
— Merge again checkout_on_root_fix.
Fix more cases when working from '/', should not affect when working normally. (user: mgagnon size: 31252) [more...]
To Artifact [0303e9ba6f]:
- File src/file.c — part of check-in [25950f8b67] at 2014-01-09 11:57:44 on branch trunk — Change C++ comments to C commenting style (user: jan.nijtmans size: 31261) [more...]
| ︙ | ︙ | |||
782 783 784 785 786 787 788 |
blob_zero(pOut);
if( file_is_absolute_path(zOrigName) ){
blob_appendf(pOut, "%/", zOrigName);
}else{
char zPwd[2000];
file_getcwd(zPwd, sizeof(zPwd)-strlen(zOrigName));
if( zPwd[0]=='/' && strlen(zPwd)==1 ){
| | | | 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 |
blob_zero(pOut);
if( file_is_absolute_path(zOrigName) ){
blob_appendf(pOut, "%/", zOrigName);
}else{
char zPwd[2000];
file_getcwd(zPwd, sizeof(zPwd)-strlen(zOrigName));
if( zPwd[0]=='/' && strlen(zPwd)==1 ){
/* when on '/', don't add an extra '/' */
if( zOrigName[0]=='.' && strlen(zOrigName)==1 ){
/* '.' when on '/' mean '/' */
blob_appendf(pOut, "%/", zPwd);
}else{
blob_appendf(pOut, "%/%/", zPwd, zOrigName);
}
}else{
blob_appendf(pOut, "%//%/", zPwd, zOrigName);
}
|
| ︙ | ︙ | |||
928 929 930 931 932 933 934 |
blob_set(pOut, "./");
blob_append(pOut, &zPath[i+1], -1);
blob_reset(&tmp);
return;
}
while( zPath[i-1]!='/' ){ i--; }
if( zPwd[0]=='/' && strlen(zPwd)==1 ){
| | | 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 |
blob_set(pOut, "./");
blob_append(pOut, &zPath[i+1], -1);
blob_reset(&tmp);
return;
}
while( zPath[i-1]!='/' ){ i--; }
if( zPwd[0]=='/' && strlen(zPwd)==1 ){
/* If on '/', don't go to higher level */
blob_zero(&tmp);
}else{
blob_set(&tmp, "../");
}
for(j=i; zPwd[j]; j++){
if( zPwd[j]=='/' ){
blob_append(&tmp, "../", 3);
|
| ︙ | ︙ |