diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/stable/formatter.h | 8 | ||||
-rw-r--r-- | src/tests/print.cpp | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/stable/formatter.h b/src/stable/formatter.h index 493bca4..fc430f3 100644 --- a/src/stable/formatter.h +++ b/src/stable/formatter.h | |||
@@ -90,6 +90,14 @@ namespace Bu | |||
90 | { | 90 | { |
91 | int c = i%fLast.uRadix; | 91 | int c = i%fLast.uRadix; |
92 | i /= fLast.uRadix; | 92 | i /= fLast.uRadix; |
93 | |||
94 | // I'm not thrilled with this solution, but it's the best I can | ||
95 | // do right now. I'll have to give this more thought later. | ||
96 | if( i < 0 ) | ||
97 | { | ||
98 | i = -i; | ||
99 | c = -c; | ||
100 | } | ||
93 | buf[j] = (char)((c<10)?('0'+c):(cBase+c-10)); | 101 | buf[j] = (char)((c<10)?('0'+c):(cBase+c-10)); |
94 | if( i == 0 ) | 102 | if( i == 0 ) |
95 | { | 103 | { |
diff --git a/src/tests/print.cpp b/src/tests/print.cpp index bee8cf8..dcd1033 100644 --- a/src/tests/print.cpp +++ b/src/tests/print.cpp | |||
@@ -8,6 +8,11 @@ int upper() | |||
8 | 8 | ||
9 | int main() | 9 | int main() |
10 | { | 10 | { |
11 | int32_t x = INT32_MIN; | ||
12 | int32_t y = -x; | ||
13 | Bu::sio << INT32_MIN; | ||
14 | Bu::println("Attack: Rolled %1 against %2 using %3."). | ||
15 | arg( INT32_MIN ).arg( 45.0 ).arg( Bu::String("Longsword") ); | ||
11 | Bu::print("hello there %1!\n").arg("Bob"); | 16 | Bu::print("hello there %1!\n").arg("Bob"); |
12 | 17 | ||
13 | Bu::println("This is %1 crazy, like %2 times over!"). | 18 | Bu::println("This is %1 crazy, like %2 times over!"). |