summaryrefslogtreecommitdiff
path: root/dumpcap.c
diff options
context:
space:
mode:
authorBalint Reczey <balint.reczey@ericsson.com>2009-08-22 22:49:59 +0000
committerBalint Reczey <balint.reczey@ericsson.com>2009-08-22 22:49:59 +0000
commit98d79569e0c417fa6380728f3cdc2cf0bc68cf47 (patch)
treea95404d03990a3af35d66dffe76fe089d6513fbb /dumpcap.c
parent035231b534547262b729198590d621ef976afdfd (diff)
downloadwireshark-98d79569e0c417fa6380728f3cdc2cf0bc68cf47.tar.gz
From Rob Leslie <rob@mars.org>:
[PATCH] Fix dumpcap believing error on ^C i.e. pcap_breakloop() When ^C was pressed during a packet capture, dumpcap believed a pcap error had occurred. We check the return value more closely to avoid this problem. svn path=/trunk/; revision=29510
Diffstat (limited to 'dumpcap.c')
-rw-r--r--dumpcap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/dumpcap.c b/dumpcap.c
index 92e4c99d18..556159e3a6 100644
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -1615,7 +1615,10 @@ capture_loop_dispatch(capture_options *capture_opts _U_, loop_data *ld,
inpkts = pcap_dispatch(ld->pcap_h, 1, capture_loop_packet_cb,
(u_char *)ld);
if (inpkts < 0) {
- ld->pcap_err = TRUE;
+ if (inpkts == -1) {
+ /* Error, rather than pcap_breakloop(). */
+ ld->pcap_err = TRUE;
+ }
ld->go = FALSE; /* error or pcap_breakloop() - stop capturing */
}
} else {