[svn-commits] rmeyerriecks: tools/trunk r10717 - /tools/trunk/dahdi_monitor.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Sep 21 12:25:52 CDT 2012


Author: rmeyerriecks
Date: Fri Sep 21 12:25:48 2012
New Revision: 10717

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=10717
Log:
dahdi-monitor: Fix broken control-C behavior and -F output option

After hitting control-C when writing a wav file, dahdi_monitor reports
"Failed to read in a full wav header. Expect bad things."

Also when using the -F output option, the wav header is not written.

Reported-by: Richard Miller
Internal-Issue-ID: DAHTOOL-59
Patch: dahdi_monitor.diff by Richard Miller (license #5685)
Signed-off-by: Russ Meyerriecks <rmeyerriecks at digium.com>

Modified:
    tools/trunk/dahdi_monitor.c

Modified: tools/trunk/dahdi_monitor.c
URL: http://svnview.digium.com/svn/dahdi/tools/trunk/dahdi_monitor.c?view=diff&rev=10717&r1=10716&r2=10717
==============================================================================
--- tools/trunk/dahdi_monitor.c (original)
+++ tools/trunk/dahdi_monitor.c Fri Sep 21 12:25:48 2012
@@ -427,6 +427,14 @@
 				exit(EXIT_FAILURE);
 			}
 			fprintf(stderr, "Writing pre-echo combined stream to %s\n", optarg);
+			file_is_wav[MON_PRE_BRX] = filename_is_wav(optarg);
+			if (file_is_wav[MON_PRE_BRX]) {
+				wavheader_init(&wavheaders[MON_PRE_BRX], 1);
+				if (fwrite(&wavheaders[MON_PRE_BRX], 1, sizeof(struct wavheader), ofh[MON_PRE_BRX]) != sizeof(struct wavheader)) {
+					fprintf(stderr, "Could not write wav header to %s: %s\n", optarg, strerror(errno));
+					exit(EXIT_FAILURE);
+				}
+			}
 			preecho = 1;
 			savefile = 1;
 			break;
@@ -763,12 +771,6 @@
 		if (!(file_is_wav[i]))
 			continue;
 
-		rewind(ofh[i]);
-
-		if (fread(&wavheaders[i], 1, sizeof(struct wavheader), ofh[i]) != sizeof(struct wavheader)) {
-			fprintf(stderr, "Failed to read in a full wav header.  Expect bad things.\n");
-		}
-
 		wavheaders[i].riff_chunk_size = (bytes_written[i]) + sizeof(struct wavheader) - 8; /* filesize - 8 */
 		wavheaders[i].data_data_size = bytes_written[i];
 




More information about the svn-commits mailing list