altos: Check all USE_SERIAL_*_STDIO when computing AO_NUM_STDIOS
authorKeith Packard <keithp@keithp.com>
Sat, 14 Apr 2012 01:35:46 +0000 (18:35 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 14 Apr 2012 21:04:29 +0000 (14:04 -0700)
AO_NUM_STDIOS is allocated based on the total number of possible stdio
values. Now that multiple serial stdio are possible, make sure to
check all of them.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/core/ao_stdio.c

index 18fa913e5a57126f55524ca87f541e3877e3985a..9b4ea4738f5c63317e838900e76d304792e021bf 100644 (file)
  * Basic I/O functions to support SDCC stdio package
  */
 
-#ifdef SERIAL_STDIN_PORT
-#define USE_SERIAL_STDIN 1
-#else
-#define USE_SERIAL_STDIN 0
+#ifndef USE_SERIAL_0_STDIN
+#define USE_SERIAL_0_STDIN     0
 #endif
+#ifndef USE_SERIAL_1_STDIN
+#define USE_SERIAL_1_STDIN     0
+#endif
+#ifndef USE_SERIAL_2_STDIN
+#define USE_SERIAL_2_STDIN     0
+#endif
+#ifndef USE_SERIAL_3_STDIN
+#define USE_SERIAL_3_STDIN     0
+#endif
+#ifndef USE_SERIAL_4_STDIN
+#define USE_SERIAL_4_STDIN     0
+#endif
+#ifndef USE_SERIAL_5_STDIN
+#define USE_SERIAL_5_STDIN     0
+#endif
+#ifndef USE_SERIAL_6_STDIN
+#define USE_SERIAL_6_STDIN     0
+#endif
+#ifndef USE_SERIAL_7_STDIN
+#define USE_SERIAL_7_STDIN     0
+#endif
+#ifndef USE_SERIAL_8_STDIN
+#define USE_SERIAL_8_STDIN     0
+#endif
+#ifndef USE_SERIAL_9_STDIN
+#define USE_SERIAL_9_STDIN     0
+#endif
+
+#define USE_SERIAL_STDIN (USE_SERIAL_0_STDIN + \
+                         USE_SERIAL_1_STDIN |  \
+                         USE_SERIAL_2_STDIN |  \
+                         USE_SERIAL_3_STDIN |  \
+                         USE_SERIAL_4_STDIN |  \
+                         USE_SERIAL_5_STDIN |  \
+                         USE_SERIAL_6_STDIN |  \
+                         USE_SERIAL_7_STDIN |  \
+                         USE_SERIAL_8_STDIN |  \
+                         USE_SERIAL_9_STDIN)
 
 #define AO_NUM_STDIOS  (HAS_USB + PACKET_HAS_SLAVE + USE_SERIAL_STDIN)