Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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;
}
