[platform] fix the dgetc signature problem
diff --git a/platform/armemu/debug.c b/platform/armemu/debug.c
index 09aabd5..9eea536 100644
--- a/platform/armemu/debug.c
+++ b/platform/armemu/debug.c
@@ -32,15 +32,21 @@
*REG8(DEBUG_STDOUT) = c;
}
-int dgetc(char *c)
+int dgetc(char *c, bool wait)
{
- int8_t result = (int8_t)*REG8(DEBUG_STDIN);
+ for (;;) {
+ int8_t result = (int8_t)*REG8(DEBUG_STDIN);
- if (result == -1)
- return -1;
+ if (result == -1) {
+ if (wait)
+ continue;
+ else
+ return -1;
+ }
- *c = (char)result;
- return 0;
+ *c = (char)result;
+ return 0;
+ }
}
void debug_dump_regs(void)
diff --git a/platform/integrator/debug.c b/platform/integrator/debug.c
index 0a2e058..1aedf8b 100644
--- a/platform/integrator/debug.c
+++ b/platform/integrator/debug.c
@@ -98,7 +98,7 @@
uart_putc(0, c);
}
-int dgetc(char *c)
+int dgetc(char *c, bool wait)
{
int result = uart_getc(0, false);
diff --git a/platform/msm_shared/debug.c b/platform/msm_shared/debug.c
index 935d886..9adc4e4 100644
--- a/platform/msm_shared/debug.c
+++ b/platform/msm_shared/debug.c
@@ -55,7 +55,7 @@
#endif
}
-int dgetc(char *c)
+int dgetc(char *c, bool wait)
{
int n;
#if WITH_DEBUG_DCC
diff --git a/platform/omap3/debug.c b/platform/omap3/debug.c
index ac6300d..8ddf3b2 100644
--- a/platform/omap3/debug.c
+++ b/platform/omap3/debug.c
@@ -37,7 +37,7 @@
uart_putc(DEBUG_UART, c);
}
-int dgetc(char *c)
+int dgetc(char *c, bool wait)
{
int _c;