Merge remote-tracking branch 'origin/master'
[fw/altos] / src / ao_stdio.c
index ec3b6607b2e8cfb5ea1cf567a9ea98d22b2eda46..c0138a30dbd730bc26bcea06b38fe872ce8650e2 100644 (file)
@@ -24,8 +24,8 @@
 #define AO_NUM_STDIOS  (HAS_USB + PACKET_HAS_SLAVE + USE_SERIAL_STDIN)
 
 __xdata struct ao_stdio ao_stdios[AO_NUM_STDIOS];
-__data int8_t ao_cur_stdio;
-__data int8_t ao_num_stdios;
+__pdata int8_t ao_cur_stdio;
+__pdata int8_t ao_num_stdios;
 
 void
 putchar(char c)
@@ -69,7 +69,7 @@ ao_echo(void)
        return ao_stdios[ao_cur_stdio].echo;
 }
 
-void
+int8_t
 ao_add_stdio(char (*pollchar)(void),
             void (*putchar)(char),
             void (*flush)(void)) __reentrant
@@ -80,5 +80,5 @@ ao_add_stdio(char (*pollchar)(void),
        ao_stdios[ao_num_stdios].putchar = putchar;
        ao_stdios[ao_num_stdios].flush = flush;
        ao_stdios[ao_num_stdios].echo = 1;
-       ao_num_stdios++;
+       return ao_num_stdios++;
 }