summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/spkmodem_recv/spkmodem-recv.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c
index 01830bd6..d1fc6a34 100644
--- a/util/spkmodem_recv/spkmodem-recv.c
+++ b/util/spkmodem_recv/spkmodem-recv.c
@@ -30,6 +30,7 @@ char ascii = 0;
void handle_audio(void);
void fetch_sample(void);
void read_frame(int ringpos);
+int set_ascii_bit(void);
void print_char(void);
int
@@ -69,7 +70,8 @@ handle_audio(void)
fetch_sample();
return;
}
- print_char();
+ if (!set_ascii_bit())
+ print_char();
lp = llp = 0;
for (int sample = 0; sample < SAMPLES_PER_FRAME; sample++)
@@ -100,8 +102,8 @@ read_frame(int ringpos)
err(ERR(), "Could not read from frame.");
}
-void
-print_char(void)
+int
+set_ascii_bit(void)
{
#if DEBUG
long stdin_pos = 0;
@@ -112,8 +114,12 @@ print_char(void)
#endif
if (f1 < FREQ_DATA_THRESHOLD)
ascii |= (1 << ascii_bit);
- if (ascii_bit)
- return;
+ return ascii_bit;
+}
+
+void
+print_char(void)
+{
#if DEBUG
printf("<%c, %x>", ascii, ascii);
#else