Patchwork [3,of,3] rust-filepatterns: add comment about Windows path handling

login
register
mail settings
Submitter Yuya Nishihara
Date June 15, 2019, 2:12 a.m.
Message ID <ae3fa38d23e3a1f0862d.1560564777@mimosa>
Download mbox | patch
Permalink /patch/40530/
State Accepted
Headers show

Comments

Yuya Nishihara - June 15, 2019, 2:12 a.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1560563933 -32400
#      Sat Jun 15 10:58:53 2019 +0900
# Node ID ae3fa38d23e3a1f0862dd95a908e931256bf6dbc
# Parent  16042509c267e1e00fc59f85166a1a6ae75a3bcc
rust-filepatterns: add comment about Windows path handling

As I replied to the Phabricator message, this is wrong. And I even suspect
it wouldn't compile because of multiple type mismatches.

I think, in Rust where type system is rock solid, we can live with UTF-8
strings except for the bottom storage layer and the top UI/command layer.
We'll still have to get around undecodable characters not to be lost, but
I think it's okay to drop such filenames from match result if they don't
match in UTF-8 world, not in Latin-1 world.
Augie Fackler - June 17, 2019, 5:13 p.m.
On Sat, Jun 15, 2019 at 11:12:57AM +0900, Yuya Nishihara wrote:
> # HG changeset patch
> # User Yuya Nishihara <yuya@tcha.org>
> # Date 1560563933 -32400
> #      Sat Jun 15 10:58:53 2019 +0900
> # Node ID ae3fa38d23e3a1f0862dd95a908e931256bf6dbc
> # Parent  16042509c267e1e00fc59f85166a1a6ae75a3bcc
> rust-filepatterns: add comment about Windows path handling

queued, thanks

Patch

diff --git a/rust/hg-core/src/utils/files.rs b/rust/hg-core/src/utils/files.rs
--- a/rust/hg-core/src/utils/files.rs
+++ b/rust/hg-core/src/utils/files.rs
@@ -9,6 +9,8 @@  pub fn get_path_from_bytes(bytes: &[u8])
     }
     #[cfg(windows)]
     {
+        // TODO: convert from Windows MBCS (ANSI encoding) to WTF8.
+        // Perhaps, the return type would have to be Result<PathBuf>.
         use std::os::windows::ffi::OsStrExt;
         os_str = std::ffi::OsString::from_wide(bytes);
     }