Always use the input file's encapsulation for the output file.

Using WTAP_ENCAP_PER_PACKET if there's more than one interface forces a
format supporting multiple encapsulations even if all interfaces use the
same encapsulation; there's no reason to force that - you might as well
let the user specify pcap format, for example, if that's what they
really want.

(If there are multiple interfaces and they have different
encapsulations, the file encapsulation will be WTAP_ENCAP_PER_PACKET
*anyway*.)

Change-Id: I0e65c06e1ae3ff159ccd27f72cc63014e30a58f3
Reviewed-on: https://code.wireshark.org/review/30658
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2018-11-15 15:34:01 -08:00
parent ad2bc773d6
commit 658c30dc4b
1 changed files with 0 additions and 8 deletions

View File

@ -3108,15 +3108,7 @@ process_cap_file(capture_file *cf, char *save_file, int out_file_type,
/* Set up to write to the capture file. */
snapshot_length = wtap_snapshot_length(cf->provider.wth);
wtap_dump_params_init(&ng_params, cf->provider.wth);
#ifdef PCAP_NG_DEFAULT
if (ng_params.idb_inf->interface_data->len > 1) {
linktype = WTAP_ENCAP_PER_PACKET;
} else {
linktype = wtap_file_encap(cf->provider.wth);
}
#else
linktype = wtap_file_encap(cf->provider.wth);
#endif
/* If we don't have an application name add Tshark */
if (wtap_block_get_string_option_value(g_array_index(ng_params.shb_hdrs, wtap_block_t, 0), OPT_SHB_USERAPPL, &shb_user_appl) != WTAP_OPTTYPE_SUCCESS) {