about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-07-29 05:40:26 -0700
committerbors <bors@rust-lang.org>2013-07-29 05:40:26 -0700
commit8413d4769f46cee7a6a4a6d9962d540b33d1af91 (patch)
treecfd95f59adc88a90fe363df26604ea084957fc5a /src/libstd
parent27812ea5e025ed36dc80379b86bb249b33c528a2 (diff)
parent79f1052b19cb43aad5f47a4e1110206a7c0143f6 (diff)
downloadrust-8413d4769f46cee7a6a4a6d9962d540b33d1af91.tar.gz
rust-8413d4769f46cee7a6a4a6d9962d540b33d1af91.zip
auto merge of #8085 : mrordinaire/rust/percent-p, r=huonw
pull request for #8011
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/unstable/extfmt.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libstd/unstable/extfmt.rs b/src/libstd/unstable/extfmt.rs
index 64ac76756d5..1a136bbaa37 100644
--- a/src/libstd/unstable/extfmt.rs
+++ b/src/libstd/unstable/extfmt.rs
@@ -114,6 +114,7 @@ pub mod ct {
         TyHex(Caseness),
         TyOctal,
         TyFloat,
+        TyPointer,
         TyPoly,
     }
 
@@ -325,6 +326,7 @@ pub mod ct {
             't' => TyBits,
             'o' => TyOctal,
             'f' => TyFloat,
+            'p' => TyPointer,
             '?' => TyPoly,
             _ => err(fmt!("unknown type in conversion: %c", s.char_at(i)))
         };
@@ -434,6 +436,7 @@ pub mod ct {
         assert!(test("t", TyBits));
         assert!(test("x", TyHex(CaseLower)));
         assert!(test("X", TyHex(CaseUpper)));
+        assert!(test("p", TyPointer));
         assert!(test("?", TyPoly));
     }
 
@@ -573,6 +576,10 @@ pub mod rt {
         } else { None };
         pad(cv, s, head, PadFloat, buf);
     }
+    pub fn conv_pointer<T>(cv: Conv, ptr: *T, buf: &mut ~str) {
+        let s = ~"0x" + uint_to_str_prec(ptr as uint, 16, 1u);
+        pad(cv, s, None, PadNozero, buf);
+    }
     pub fn conv_poly<T>(cv: Conv, v: &T, buf: &mut ~str) {
         let s = sys::log_str(v);
         conv_str(cv, s, buf);