aboutsummaryrefslogtreecommitdiffstats
path: root/src/gos
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-07-20 21:57:01 +1000
committerinmarket <andrewh@inmarket.com.au>2013-07-20 21:57:01 +1000
commit2bef5da2f3a3a5c3f1e667d5f50c2f28f6d96baf (patch)
tree781f37ef9fc7ded9180ced186bb205ffe1fd13d2 /src/gos
parentb91097e3116b6edd21f00478b115cb611fff34b1 (diff)
downloaduGFX-2bef5da2f3a3a5c3f1e667d5f50c2f28f6d96baf.tar.gz
uGFX-2bef5da2f3a3a5c3f1e667d5f50c2f28f6d96baf.tar.bz2
uGFX-2bef5da2f3a3a5c3f1e667d5f50c2f28f6d96baf.zip
Added gfxRealloc()
Diffstat (limited to 'src/gos')
-rw-r--r--src/gos/chibios.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gos/chibios.c b/src/gos/chibios.c
index 6ce06d94..0b501110 100644
--- a/src/gos/chibios.c
+++ b/src/gos/chibios.c
@@ -13,6 +13,8 @@
#if GFX_USE_OS_CHIBIOS
+#include <string.h>
+
#if !CH_USE_MUTEXES
#error "GOS: CH_USE_MUTEXES must be defined in chconf.h"
#endif
@@ -29,6 +31,22 @@ void _gosInit(void) {
}
}
+void *gfxRealloc(void *ptr, size_t oldsz, size_t newsz) {
+ void *np;
+
+ if (newsz <= oldsz)
+ return ptr;
+
+ np = gfxAlloc(newsz);
+ if (!np)
+ return 0;
+
+ if (oldsz)
+ memcpy(np, ptr, oldsz);
+
+ return np;
+}
+
void gfxSleepMilliseconds(delaytime_t ms) {
switch(ms) {
case TIME_IMMEDIATE: chThdYield(); return;