diff options
| author | Leah Rowe <leah@libreboot.org> | 2023-06-05 00:45:05 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2023-06-05 00:46:41 +0100 | 
| commit | 118bb19ff84b013954b3032e93c7fb0fc926b15e (patch) | |
| tree | e51e1d0057d0ab5b798476e3a4606fbc7985dc8f /util/spkmodem_recv | |
| parent | af36cc7f93e797c73192e1cfd55b27d508aa87fa (diff) | |
util/spkmodem-recv: simplify stdout flush logic
when spkmodem-recv doesn't receive anything (via stdout)
after a few frames, it's assumed that the console is dead
and the buffered output is flushed
this logic is assumed superfluous when -u is set
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'util/spkmodem_recv')
| -rw-r--r-- | util/spkmodem_recv/spkmodem-recv.c | 12 | 
1 files changed, 4 insertions, 8 deletions
| diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c index 903d6830..d43c27d9 100644 --- a/util/spkmodem_recv/spkmodem-recv.c +++ b/util/spkmodem_recv/spkmodem-recv.c @@ -20,11 +20,10 @@  #define THRESHOLD 500  #define DEBUG 0 -#define FLUSH_TIMEOUT 1  #define ERR() (errno = errno ? errno : ECANCELED)  signed short frame[2 * SAMPLES_PER_FRAME], pulse[2 * SAMPLES_PER_FRAME]; -int freq_data, freq_separator, sample_count, ascii_bit = 7; +int flush, freq_data, freq_separator, sample_count, ascii_bit = 7;  char ascii = 0;  void handle_audio(void); @@ -56,15 +55,12 @@ main(int argc, char *argv[])  void  handle_audio(void)  { -	static int flush_count = 0; -	if (sample_count > (3 * SAMPLES_PER_FRAME)) { +	if ((flush = (sample_count > (3 * SAMPLES_PER_FRAME)))) {  		ascii_bit = 7;  		ascii = sample_count = 0; -		++flush_count; -	} -	if (flush_count == FLUSH_TIMEOUT) /* TODO: reset flush count? */  		if (fflush(stdout) == EOF)  			err(ERR(), NULL); +	}  	if ((freq_separator <= FREQ_SEP_MIN) || (freq_separator >= FREQ_SEP_MAX)  	    || (freq_data <= FREQ_DATA_MIN) || (freq_data >= FREQ_DATA_MAX)) {  		fetch_sample(); @@ -73,7 +69,7 @@ handle_audio(void)  	if (!set_ascii_bit())  		print_char(); -	sample_count = flush_count = 0; +	sample_count = flush = 0;  	for (int sample = 0; sample < SAMPLES_PER_FRAME; sample++)  		fetch_sample();  } | 
