From 2ca991e1df186153fb2d260373170062fd75d1fe Mon Sep 17 00:00:00 2001 From: Michael Ossmann Date: Wed, 27 Jan 2021 12:12:45 -0700 Subject: [PATCH] Flush output streams. Do not fclose stdout/stdin. --- host/hackrf-tools/src/hackrf_sweep.c | 1 + host/hackrf-tools/src/hackrf_transfer.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_sweep.c b/host/hackrf-tools/src/hackrf_sweep.c index fa8a7613..1eb9af45 100644 --- a/host/hackrf-tools/src/hackrf_sweep.c +++ b/host/hackrf-tools/src/hackrf_sweep.c @@ -757,6 +757,7 @@ int main(int argc, char** argv) { fprintf(stderr, "hackrf_exit() done\n"); } + fflush(outfile); if ( ( outfile != NULL ) && ( outfile != stdout ) ) { fclose(outfile); outfile = NULL; diff --git a/host/hackrf-tools/src/hackrf_transfer.c b/host/hackrf-tools/src/hackrf_transfer.c index 9c1f3426..fda6faf5 100644 --- a/host/hackrf-tools/src/hackrf_transfer.c +++ b/host/hackrf-tools/src/hackrf_transfer.c @@ -1141,9 +1141,14 @@ int main(int argc, char** argv) { rewind(file); fwrite(&wave_file_hdr, 1, sizeof(t_wav_file_hdr), file); } - fclose(file); - file = NULL; - fprintf(stderr, "fclose(file) done\n"); + if (file != stdin) { + fflush(file); + } + if ((file != stdout) && (file != stdin)) { + fclose(file); + file = NULL; + fprintf(stderr, "fclose() done\n"); + } } fprintf(stderr, "exit\n"); return exit_code;