about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStanislav Tkach <stanislav.tkach@xdev.re>2017-04-19 17:49:03 +0300
committerStanislav Tkach <stanislav.tkach@xdev.re>2017-04-19 17:49:03 +0300
commitb53aeebbcff40b91c1c19424db2393118a5ae335 (patch)
treec244b72dcfda6dcb7424dba451c803d340a4de85
parentb4833a8c581f92e87eeb0f5a6f11719f4eb94092 (diff)
Fix line length calculation (should be in chars, not bytes)
-rw-r--r--src/lib.rs2
-rw-r--r--tests/source/max-line-length-in-chars.rs4
-rw-r--r--tests/target/max-line-length-in-chars.rs4
3 files changed, 9 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index be4579faba2..ddee0cdc286 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -511,7 +511,7 @@ fn format_lines(text: &mut StringBuffer, name: &str, config: &Config, report: &m
             last_wspace = None;
         } else {
             newline_count = 0;
-            line_len += c.len_utf8();
+            line_len += 1;
             if c.is_whitespace() {
                 if last_wspace.is_none() {
                     last_wspace = Some(b);
diff --git a/tests/source/max-line-length-in-chars.rs b/tests/source/max-line-length-in-chars.rs
new file mode 100644
index 00000000000..d49fbb7e30e
--- /dev/null
+++ b/tests/source/max-line-length-in-chars.rs
@@ -0,0 +1,4 @@
+// rustfmt-max_width: 25
+
+// абвгдеёжзийклмнопрст
+fn main() {}
diff --git a/tests/target/max-line-length-in-chars.rs b/tests/target/max-line-length-in-chars.rs
new file mode 100644
index 00000000000..d49fbb7e30e
--- /dev/null
+++ b/tests/target/max-line-length-in-chars.rs
@@ -0,0 +1,4 @@
+// rustfmt-max_width: 25
+
+// абвгдеёжзийклмнопрст
+fn main() {}