From 63a40df5203178bbea1ff1a6988e6d30b6f992f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Tue, 18 Sep 2018 01:34:56 +0200 Subject: [PATCH] Fix style issues --- font/src/darwin/mod.rs | 2 +- font/src/ft/fc/font_set.rs | 2 +- src/grid/row.rs | 19 ++++++++++++++++++- src/grid/storage.rs | 4 ++-- src/locale.rs | 2 +- src/term/mod.rs | 2 +- 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/font/src/darwin/mod.rs b/font/src/darwin/mod.rs index 2f9d5fe0..bbdb5662 100644 --- a/font/src/darwin/mod.rs +++ b/font/src/darwin/mod.rs @@ -68,7 +68,7 @@ impl Descriptor { font_name: desc.font_name(), style_name: desc.style_name(), display_name: desc.display_name(), - font_path: desc.font_path().unwrap_or_else(||{"".to_owned()}), + font_path: desc.font_path().unwrap_or_else(String::new), ct_descriptor: desc, } } diff --git a/font/src/ft/fc/font_set.rs b/font/src/ft/fc/font_set.rs index a0c4eee0..6b63f439 100644 --- a/font/src/ft/fc/font_set.rs +++ b/font/src/ft/fc/font_set.rs @@ -99,7 +99,7 @@ impl<'a> Iterator for Iter<'a> { None } else { let pattern = unsafe { - let ptr = *(*self.font_set.as_ptr()).fonts.offset(self.current as isize); + let ptr = *(*self.font_set.as_ptr()).fonts.add(self.current); PatternRef::from_ptr(ptr) }; diff --git a/src/grid/row.rs b/src/grid/row.rs index 69a4f2b2..7c12bf99 100644 --- a/src/grid/row.rs +++ b/src/grid/row.rs @@ -15,7 +15,7 @@ //! Defines the Row type which makes up lines in the grid use std::ops::{Index, IndexMut}; -use std::ops::{Range, RangeTo, RangeFrom, RangeFull}; +use std::ops::{Range, RangeTo, RangeFrom, RangeFull, RangeToInclusive}; use std::cmp::{max, min}; use std::slice; @@ -200,3 +200,20 @@ impl IndexMut for Row { &mut self.inner[..] } } + +impl Index> for Row { + type Output = [T]; + + #[inline] + fn index(&self, index: RangeToInclusive) -> &[T] { + &self.inner[..=(index.end.0)] + } +} + +impl IndexMut> for Row { + #[inline] + fn index_mut(&mut self, index: RangeToInclusive) -> &mut [T] { + self.occ = max(self.occ, *index.end); + &mut self.inner[..=(index.end.0)] + } +} diff --git a/src/grid/storage.rs b/src/grid/storage.rs index ad94cf2b..af2bd35c 100644 --- a/src/grid/storage.rs +++ b/src/grid/storage.rs @@ -232,8 +232,8 @@ impl Storage { // Cast to a qword array to opt out of copy restrictions and avoid // drop hazards. Byte array is no good here since for whatever // reason LLVM won't optimized it. - let a_ptr = self.inner.as_mut_ptr().offset(a as isize) as *mut u64; - let b_ptr = self.inner.as_mut_ptr().offset(b as isize) as *mut u64; + let a_ptr = self.inner.as_mut_ptr().add(a) as *mut u64; + let b_ptr = self.inner.as_mut_ptr().add(b) as *mut u64; // Copy 1 qword at a time // diff --git a/src/locale.rs b/src/locale.rs index bea68cad..833de71e 100644 --- a/src/locale.rs +++ b/src/locale.rs @@ -67,7 +67,7 @@ pub fn set_locale_environment() { // try setting `locale_id` let modified = setlocale(LC_CTYPE, locale_ptr); let result = if modified.is_null() { - String::from("") + String::new() } else { locale_id }; diff --git a/src/term/mod.rs b/src/term/mod.rs index 04d110af..f4ebf1c9 100644 --- a/src/term/mod.rs +++ b/src/term/mod.rs @@ -1725,7 +1725,7 @@ impl ansi::Handler for Term { }, ansi::LineClearMode::Left => { let row = &mut self.grid[self.cursor.point.line]; - for cell in &mut row[..(col + 1)] { + for cell in &mut row[..=col] { cell.reset(&template); } },