Skip to content
Snippets Groups Projects
user avatar
Fabian Meumertzheim authored
Roll forward of https://github.com/bazelbuild/bazel/commit/a58fe3fa6b9ab1f7bfcd1ad8c94ab1f09a4cca39: Fix most Unicode encoding bugs.

NEW: Relative to the original CL, the only changes are in latin1_jni_path.cc and NativePosixFiles.java. In latin1_jni_path.cc, the former implementation of GetStringLatin1Chars with a fallback for strings with a UTF-16 coder is restored, with a BugReport sent whenever any such string is detected. In NativePosixFiles.java, a private method is added to be called from JNI to send the BugReport.

*** Original change description ***

Automated rollback of commit a58fe3fa.

*** Reason for rollback ***

Causing crashes for internal software that uses Bazel's VFS stuff.

*** Original change description ***

Fix most Unicode encoding bugs

Bazel aims to support arbitrary file system path encodings (even raw byte sequences) by attempting to force the JVM to use a Latin-1 locale for OS interactions. As a result, Bazel internally encodes Strings as raw byte arrays with a Latin-1 coder and no encoding information. Whenever it interacts with encoding-aware APIs, this may require a reencoding of the String contents, depending on the OS and availability of a Latin-1 locale.

***

PiperOrigin-RevId: 696524066
Change-Id: Ifdddacc08c1a81ad719b1aeac2a93882cbafbcd2
0146656b
Name Last commit Last update