about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2011-04-26 20:13:23 -0400
committerBrian Anderson <andersrb@gmail.com>2011-04-26 20:20:17 -0400
commit2e12fbfc06abdf1547528047b1438204ca4121a1 (patch)
tree449454de4d0605d25c292650a563f7d4933efe4d /src/lib
parent66b59e4b056ade5f0a5e5a8fd64534aeea9b952c (diff)
Support octal #fmt conversions
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ExtFmt.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/ExtFmt.rs b/src/lib/ExtFmt.rs
index a87fc87904d..a9747c6a748 100644
--- a/src/lib/ExtFmt.rs
+++ b/src/lib/ExtFmt.rs
@@ -46,6 +46,7 @@ mod CT {
         ty_int(signedness);
         ty_bits;
         ty_hex(caseness);
+        ty_octal;
         // FIXME: More types
     }
 
@@ -289,6 +290,8 @@ mod CT {
             t = ty_hex(case_upper);
         } else if (_str.eq(tstr, "t")) {
             t = ty_bits;
+        } else if (_str.eq(tstr, "o")) {
+            t = ty_octal;
         } else {
             log_err "unknown type in conversion";
             fail;
@@ -326,6 +329,7 @@ mod RT {
         ty_bits;
         ty_hex_upper;
         ty_hex_lower;
+        ty_octal;
     }
 
     // FIXME: May not want to use a vector here for flags;
@@ -365,6 +369,9 @@ mod RT {
             case (ty_bits) {
                 res = uint_to_str_prec(u, 2u, prec);
             }
+            case (ty_octal) {
+                res = uint_to_str_prec(u, 8u, prec);
+            }
         }
         ret pad(cv, res, pad_unsigned);
     }