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!"). |
