about summary refs log tree commit diff
path: root/src/libstd/fmt
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/fmt')
-rw-r--r--src/libstd/fmt/mod.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/fmt/mod.rs b/src/libstd/fmt/mod.rs
index b4bb6236f08..fecd68e049a 100644
--- a/src/libstd/fmt/mod.rs
+++ b/src/libstd/fmt/mod.rs
@@ -504,6 +504,7 @@ use slice::{Vector, ImmutableVector};
 use slice;
 use str::{StrSlice, StrAllocating, UTF16Item, ScalarValue, LoneSurrogate};
 use str;
+use strbuf::StrBuf;
 
 pub use self::num::radix;
 pub use self::num::Radix;
@@ -788,6 +789,11 @@ pub fn format(args: &Arguments) -> ~str {
     unsafe { format_unsafe(args.fmt, args.args) }
 }
 
+/// Temporary transitionary thing.
+pub fn format_strbuf(args: &Arguments) -> StrBuf {
+    unsafe { format_unsafe_strbuf(args.fmt, args.args) }
+}
+
 /// The unsafe version of the formatting function.
 ///
 /// This is currently an unsafe function because the types of all arguments
@@ -815,6 +821,14 @@ pub unsafe fn format_unsafe(fmt: &[rt::Piece], args: &[Argument]) -> ~str {
     return str::from_utf8(output.unwrap().as_slice()).unwrap().to_owned();
 }
 
+/// Temporary transitionary thing.
+pub unsafe fn format_unsafe_strbuf(fmt: &[rt::Piece], args: &[Argument])
+                                   -> StrBuf {
+    let mut output = MemWriter::new();
+    write_unsafe(&mut output as &mut io::Writer, fmt, args).unwrap();
+    return str::from_utf8(output.unwrap().as_slice()).unwrap().into_strbuf();
+}
+
 impl<'a> Formatter<'a> {
 
     // First up is the collection of functions used to execute a format string