summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/esp8266/driver/stdout.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/arch/esp8266/driver/stdout.cc b/src/arch/esp8266/driver/stdout.cc
index 4471672..d8e07a8 100644
--- a/src/arch/esp8266/driver/stdout.cc
+++ b/src/arch/esp8266/driver/stdout.cc
@@ -9,7 +9,11 @@ void os_printf_plus(const char *s, ...);
StandardOutput & StandardOutput::operator<<(unsigned char c)
{
- put(c);
+ if (base == 16) {
+ os_printf("%02x", c);
+ } else {
+ os_printf("%d", c);
+ }
return *this;
}
@@ -33,13 +37,21 @@ StandardOutput & StandardOutput::operator<<(short number)
StandardOutput & StandardOutput::operator<<(unsigned int number)
{
- os_printf("%u", number);
+ if (base == 16) {
+ os_printf("%08x", number);
+ } else {
+ os_printf("%u", number);
+ }
return *this;
}
StandardOutput & StandardOutput::operator<<(int number)
{
- os_printf("%d", number);
+ if (base == 16) {
+ os_printf("%08x", number);
+ } else {
+ os_printf("%d", number);
+ }
return *this;
}