From 4f0c07f640964ec75b6643fa09ca1290a01f1076 Mon Sep 17 00:00:00 2001 From: Gregory Maxwell Date: Mon, 23 Apr 2012 13:52:00 -0400 Subject: [PATCH] Add fwrite() error handling in repacketizer_demo. --- src/repacketizer_demo.c | 45 ++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/src/repacketizer_demo.c b/src/repacketizer_demo.c index 910f313e..ca8b2c7e 100644 --- a/src/repacketizer_demo.c +++ b/src/repacketizer_demo.c @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) if (argc < 3) { usage(argv[0]); - return 1; + return EXIT_FAILURE; } for (i=1;i0) { unsigned char int_field[4]; int_to_char(err, int_field); - fwrite(int_field, 1, 4, fout); + if(fwrite(int_field, 1, 4, fout)!=4){ + fprintf(stderr, "Error writing.\n"); + return EXIT_FAILURE; + } int_to_char(rng[nb_packets-1], int_field); - fwrite(int_field, 1, 4, fout); - fwrite(output_packet, 1, err, fout); + if (fwrite(int_field, 1, 4, fout)!=4) { + fprintf(stderr, "Error writing.\n"); + return EXIT_FAILURE; + } + if (fwrite(output_packet, 1, err, fout)!=(unsigned)err) { + fprintf(stderr, "Error writing.\n"); + return EXIT_FAILURE; + } /*fprintf(stderr, "out len = %d\n", err);*/ } else { fprintf(stderr, "opus_repacketizer_out() failed: %s\n", opus_strerror(err)); @@ -172,13 +181,22 @@ int main(int argc, char *argv[]) if (err>0) { unsigned char int_field[4]; int_to_char(err, int_field); - fwrite(int_field, 1, 4, fout); + if (fwrite(int_field, 1, 4, fout)!=4) { + fprintf(stderr, "Error writing.\n"); + return EXIT_FAILURE; + } if (i==nb_frames-1) int_to_char(rng[nb_packets-1], int_field); else int_to_char(0, int_field); - fwrite(int_field, 1, 4, fout); - fwrite(output_packet, 1, err, fout); + if (fwrite(int_field, 1, 4, fout)!=4) { + fprintf(stderr, "Error writing.\n"); + return EXIT_FAILURE; + } + if (fwrite(output_packet, 1, err, fout)!=(unsigned)err) { + fprintf(stderr, "Error writing.\n"); + return EXIT_FAILURE; + } /*fprintf(stderr, "out len = %d\n", err);*/ } else { fprintf(stderr, "opus_repacketizer_out() failed: %s\n", opus_strerror(err)); @@ -186,10 +204,9 @@ int main(int argc, char *argv[]) } } - } fclose(fin); fclose(fout); - return 0; + return EXIT_SUCCESS; }