Ethereal-dev: [Ethereal-dev] [PATCH] Set stdout to binary mode when using -w - in tethereal
When using tethereal with "-w -" stdout is put in text mode, and this
results in corrupt packet captures. The attached patch fixes the
problem by setting stdout to binary mode.
Joe
--
PGP Key : http://www.marcuscom.com/pgp.asc
This patch is needed to fix tethereal -w - (and thus jet -w -) on Windows.
Currently, tethereal has stdout set in text mode on Windows, and this
corrupts the packet dump. This patch applies to ethereal-0.10.3.
--- wiretap/file_access.c.orig Mon Apr 26 16:35:37 2004
+++ wiretap/file_access.c Mon Apr 26 16:36:30 2004
@@ -537,9 +537,12 @@
return NULL; /* couldn't allocate it */
/* Empty filename means stdout */
- if (*filename == '\0')
+ if (*filename == '\0') {
+#ifdef _WIN32
+ setmode(fileno(stdout), O_BINARY);
+#endif
wdh->fh = stdout;
- else {
+ } else {
/* In case "fopen()" fails but doesn't set "errno", set "errno"
to a generic "the open failed" error. */
errno = WTAP_ERR_CANT_OPEN;
Attachment:
signature.asc
Description: This is a digitally signed message part