diff --git a/components/gfx/platform/freetype/font.rs b/components/gfx/platform/freetype/font.rs index 7bc26800df0..a51741a6b87 100644 --- a/components/gfx/platform/freetype/font.rs +++ b/components/gfx/platform/freetype/font.rs @@ -23,9 +23,9 @@ use platform::font_template::FontTemplateData; use std::sync::Arc; use std::{mem, ptr}; use style::computed_values::{font_stretch, font_weight}; +use super::c_str_to_string; use text::glyph::GlyphId; use text::util::{fixed_to_float, float_to_fixed}; -use util::str::c_str_to_string; fn float_to_fixed_ft(f: f64) -> i32 { float_to_fixed(6, f) diff --git a/components/gfx/platform/freetype/font_list.rs b/components/gfx/platform/freetype/font_list.rs index c1b787aadbb..eaf909dce90 100644 --- a/components/gfx/platform/freetype/font_list.rs +++ b/components/gfx/platform/freetype/font_list.rs @@ -16,7 +16,7 @@ use libc::{c_char, c_int}; use std::borrow::ToOwned; use std::ffi::CString; use std::ptr; -use util::str::c_str_to_string; +use super::c_str_to_string; static FC_FAMILY: &'static [u8] = b"family\0"; static FC_FILE: &'static [u8] = b"file\0"; diff --git a/components/gfx/platform/mod.rs b/components/gfx/platform/mod.rs index 729448c2586..17aaf36ae27 100644 --- a/components/gfx/platform/mod.rs +++ b/components/gfx/platform/mod.rs @@ -10,6 +10,16 @@ pub use platform::macos::{font, font_context, font_list, font_template}; #[cfg(any(target_os = "linux", target_os = "android", target_os = "windows"))] pub mod freetype { + use libc::c_char; + use std::ffi::CStr; + use std::str; + + /// Creates a String from the given null-terminated buffer. + /// Panics if the buffer does not contain UTF-8. + unsafe fn c_str_to_string(s: *const c_char) -> String { + str::from_utf8(CStr::from_ptr(s).to_bytes()).unwrap().to_owned() + } + pub mod font; pub mod font_context; pub mod font_list; diff --git a/components/util/str.rs b/components/util/str.rs index 7af63f4c7f3..7df67e1b421 100644 --- a/components/util/str.rs +++ b/components/util/str.rs @@ -3,14 +3,11 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use app_units::Au; -use libc::c_char; use num_traits::ToPrimitive; -use std::borrow::ToOwned; use std::convert::AsRef; -use std::ffi::CStr; use std::iter::{Filter, Peekable}; use std::ops::Deref; -use std::str::{Split, from_utf8}; +use std::str::Split; pub type StaticCharVec = &'static [char]; pub type StaticStringVec = &'static [&'static str]; @@ -150,12 +147,6 @@ impl Deref for LowercaseString { } } -/// Creates a String from the given null-terminated buffer. -/// Panics if the buffer does not contain UTF-8. -pub unsafe fn c_str_to_string(s: *const c_char) -> String { - from_utf8(CStr::from_ptr(s).to_bytes()).unwrap().to_owned() -} - pub fn str_join(strs: I, join: &str) -> String where I: IntoIterator, T: AsRef, {