Fossil SCM
Convert the return value of getcwd() from MBCS into UTF8 before using it.
Commit
ef04076777f27acf29ab2cdf51f7bb8163c33544
Parent
3b5db9a10ef653c…
1 file changed
+4
-1
+4
-1
| --- src/file.c | ||
| +++ src/file.c | ||
| @@ -401,15 +401,18 @@ | ||
| 401 | 401 | ){ |
| 402 | 402 | blob_set(pOut, zOrigName); |
| 403 | 403 | blob_materialize(pOut); |
| 404 | 404 | }else{ |
| 405 | 405 | char zPwd[2000]; |
| 406 | + char *zPwdUtf8; | |
| 406 | 407 | if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){ |
| 407 | 408 | fossil_fatal("pwd too big: max %d\n", (int)sizeof(zPwd)-20); |
| 408 | 409 | } |
| 409 | 410 | blob_zero(pOut); |
| 410 | - blob_appendf(pOut, "%//%/", zPwd, zOrigName); | |
| 411 | + zPwdUtf8 = fossil_mbcs_to_utf8(zPwd); | |
| 412 | + blob_appendf(pOut, "%//%/", zPwdUtf8, zOrigName); | |
| 413 | + fossil_mbcs_free(zPwdUtf8); | |
| 411 | 414 | } |
| 412 | 415 | blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut))); |
| 413 | 416 | } |
| 414 | 417 | |
| 415 | 418 | /* |
| 416 | 419 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -401,15 +401,18 @@ | |
| 401 | ){ |
| 402 | blob_set(pOut, zOrigName); |
| 403 | blob_materialize(pOut); |
| 404 | }else{ |
| 405 | char zPwd[2000]; |
| 406 | if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){ |
| 407 | fossil_fatal("pwd too big: max %d\n", (int)sizeof(zPwd)-20); |
| 408 | } |
| 409 | blob_zero(pOut); |
| 410 | blob_appendf(pOut, "%//%/", zPwd, zOrigName); |
| 411 | } |
| 412 | blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut))); |
| 413 | } |
| 414 | |
| 415 | /* |
| 416 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -401,15 +401,18 @@ | |
| 401 | ){ |
| 402 | blob_set(pOut, zOrigName); |
| 403 | blob_materialize(pOut); |
| 404 | }else{ |
| 405 | char zPwd[2000]; |
| 406 | char *zPwdUtf8; |
| 407 | if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){ |
| 408 | fossil_fatal("pwd too big: max %d\n", (int)sizeof(zPwd)-20); |
| 409 | } |
| 410 | blob_zero(pOut); |
| 411 | zPwdUtf8 = fossil_mbcs_to_utf8(zPwd); |
| 412 | blob_appendf(pOut, "%//%/", zPwdUtf8, zOrigName); |
| 413 | fossil_mbcs_free(zPwdUtf8); |
| 414 | } |
| 415 | blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut))); |
| 416 | } |
| 417 | |
| 418 | /* |
| 419 |