diff options
author | Balint Reczey <balint.reczey@ericsson.com> | 2009-08-22 22:49:59 +0000 |
---|---|---|
committer | Balint Reczey <balint.reczey@ericsson.com> | 2009-08-22 22:49:59 +0000 |
commit | 98d79569e0c417fa6380728f3cdc2cf0bc68cf47 (patch) | |
tree | a95404d03990a3af35d66dffe76fe089d6513fbb /dumpcap.c | |
parent | 035231b534547262b729198590d621ef976afdfd (diff) | |
download | wireshark-98d79569e0c417fa6380728f3cdc2cf0bc68cf47.tar.gz wireshark-98d79569e0c417fa6380728f3cdc2cf0bc68cf47.tar.bz2 wireshark-98d79569e0c417fa6380728f3cdc2cf0bc68cf47.zip |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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 { |