mbed library sources
Fork of mbed-src by
Revision 299:fb529cc9bc22, committed 2014-08-27
- Comitter:
- mbed_official
- Date:
- Wed Aug 27 04:00:07 2014 +0100
- Parent:
- 298:7557d401dbc3
- Child:
- 300:55638feb26a4
- Commit message:
- Synchronized with git revision d20ce634877d7038c1c2a25adb030fd56c156e33
Full URL: https://github.com/mbedmicro/mbed/commit/d20ce634877d7038c1c2a25adb030fd56c156e33/
[Common] Fixed crash issue in RawSerial::printf for uARM
Changed in this revision
common/RawSerial.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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; }