mbed library sources

Dependents:   Freedman_v2 Nucleo_i2c_OLED_BME280_copy

Fork of mbed-src by mbed official

Revision:
299:fb529cc9bc22
Parent:
64:7b352733b00a
Child:
321:39f2bc1d0627
diff -r 7557d401dbc3 -r fb529cc9bc22 common/RawSerial.cpp
--- a/common/RawSerial.cpp	Wed Aug 27 03:45:07 2014 +0100
+++ b/common/RawSerial.cpp	Wed Aug 27 04:00:07 2014 +0100
@@ -47,6 +47,13 @@
 int RawSerial::printf(const char *format, ...) {
     std::va_list arg;
     va_start(arg, format);
+#if defined(__MICROLIB) && defined(__ARMCC_VERSION) // with microlib and ARM compiler
+    char *temp;
+    temp = (char*)alloca(STRING_STACK_LIMIT);
+    vsprintf(temp, format, arg);
+    puts(temp);
+    int len = strlen(temp);
+#else
     int len = vsnprintf(NULL, 0, format, arg);
     if (len < STRING_STACK_LIMIT) {
         char temp[STRING_STACK_LIMIT];
@@ -58,6 +65,7 @@
         puts(temp);
         delete[] temp;
     }
+#endif
     va_end(arg);
     return len;
 }