aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-11-11 16:59:10 -0800
committerGuy Harris <guy@alum.mit.edu>2015-11-12 00:59:40 +0000
commit75dc2051e861294a0e75955e896de7494f086b42 (patch)
tree5e4738506009583066d083b648958bef11115590 /ui
parentaf8c70cb7d7b81492df7dc11690195598086990c (diff)
Add wtap_dump_open_tempfile routines, to write to a temporary file.
It includes the temporary-file generation, so you don't have to do it yourself. Change-Id: I0798df95a5c5646224ec49612f50b423ed78547a Reviewed-on: https://code.wireshark.org/review/11751 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'ui')
-rw-r--r--ui/gtk/file_import_dlg.c17
-rw-r--r--ui/qt/import_text_dialog.cpp9
-rw-r--r--ui/tap_export_pdu.c17
3 files changed, 18 insertions, 25 deletions
diff --git a/ui/gtk/file_import_dlg.c b/ui/gtk/file_import_dlg.c
index 4700fa5b0a..958d12e221 100644
--- a/ui/gtk/file_import_dlg.c
+++ b/ui/gtk/file_import_dlg.c
@@ -452,7 +452,6 @@ header_sctp_data_rb_toggle(GtkWidget *widget, gpointer data)
static void
file_import_open(text_import_info_t *info)
{
- int import_file_fd;
char *tmpname, *capfile_name;
int err;
@@ -462,10 +461,6 @@ file_import_open(text_import_info_t *info)
wtapng_if_descr_t int_data;
GString *os_info_str;
- /* Choose a random name for the temporary import buffer */
- import_file_fd = create_tempfile(&tmpname, "import");
- capfile_name = g_strdup(tmpname);
-
/* Create data for SHB */
os_info_str = g_string_new("");
get_os_version_info(os_info_str);
@@ -515,11 +510,15 @@ file_import_open(text_import_info_t *info)
g_array_append_val(idb_inf->interface_data, int_data);
- info->wdh = wtap_dump_fdopen_ng(import_file_fd, WTAP_FILE_TYPE_SUBTYPE_PCAPNG, info->encapsulation,
- info->max_frame_length, FALSE,
- shb_hdr, idb_inf, NULL, &err);
+ /* Use a random name for the temporary import buffer */
+ info->wdh = wtap_dump_open_tempfile_ng(&tmpname, "import",
+ WTAP_FILE_TYPE_SUBTYPE_PCAPNG,
+ info->encapsulation,
+ info->max_frame_length, FALSE,
+ shb_hdr, idb_inf, NULL, &err);
+ capfile_name = g_strdup(tmpname);
if (info->wdh == NULL) {
- open_failure_alert_box(capfile_name, err, TRUE);
+ open_failure_alert_box(tmpname ? tmpname : "temporary file", err, TRUE);
fclose(info->import_text_file);
goto end;
}
diff --git a/ui/qt/import_text_dialog.cpp b/ui/qt/import_text_dialog.cpp
index 1ba09cf1a0..8b4c4a2e04 100644
--- a/ui/qt/import_text_dialog.cpp
+++ b/ui/qt/import_text_dialog.cpp
@@ -115,16 +115,13 @@ QString &ImportTextDialog::capfileName() {
}
void ImportTextDialog::convertTextFile() {
- int import_file_fd;
char *tmpname;
int err;
capfile_name_.clear();
- /* Choose a random name for the temporary import buffer */
- import_file_fd = create_tempfile(&tmpname, "import");
- capfile_name_.append(tmpname);
-
- import_info_.wdh = wtap_dump_fdopen(import_file_fd, WTAP_FILE_TYPE_SUBTYPE_PCAP, import_info_.encapsulation, import_info_.max_frame_length, FALSE, &err);
+ /* Use a random name for the temporary import buffer */
+ import_info_.wdh = wtap_dump_open_tempfile(&tmpname, "import", WTAP_FILE_TYPE_SUBTYPE_PCAP, import_info_.encapsulation, import_info_.max_frame_length, FALSE, &err);
+ capfile_name_.append(tmpname ? tmpname : "temporary file");
qDebug() << capfile_name_ << ":" << import_info_.wdh << import_info_.encapsulation << import_info_.max_frame_length;
if (import_info_.wdh == NULL) {
open_failure_alert_box(capfile_name_.toUtf8().constData(), err, TRUE);
diff --git a/ui/tap_export_pdu.c b/ui/tap_export_pdu.c
index f1dcacc63c..b6a15e8db7 100644
--- a/ui/tap_export_pdu.c
+++ b/ui/tap_export_pdu.c
@@ -98,7 +98,6 @@ export_pdu_packet(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const
static void
exp_pdu_file_open(exp_pdu_t *exp_pdu_tap_data)
{
- int import_file_fd;
char *tmpname, *capfile_name;
int err;
@@ -108,10 +107,6 @@ exp_pdu_file_open(exp_pdu_t *exp_pdu_tap_data)
wtapng_if_descr_t int_data;
GString *os_info_str;
- /* Choose a random name for the temporary import buffer */
- import_file_fd = create_tempfile(&tmpname, "Wireshark_PDU_");
- capfile_name = g_strdup(tmpname);
-
/* Create data for SHB */
os_info_str = g_string_new("");
get_os_version_info(os_info_str);
@@ -160,15 +155,17 @@ exp_pdu_file_open(exp_pdu_t *exp_pdu_tap_data)
g_array_append_val(idb_inf->interface_data, int_data);
- exp_pdu_tap_data->wdh = wtap_dump_fdopen_ng(import_file_fd, WTAP_FILE_TYPE_SUBTYPE_PCAPNG,
- WTAP_ENCAP_WIRESHARK_UPPER_PDU, WTAP_MAX_PACKET_SIZE,
- FALSE, shb_hdr, idb_inf, NULL, &err);
+ /* Use a random name for the temporary import buffer */
+ exp_pdu_tap_data->wdh = wtap_dump_open_tempfile_ng(&tmpname, "Wireshark_PDU_",
+ WTAP_FILE_TYPE_SUBTYPE_PCAPNG,
+ WTAP_ENCAP_WIRESHARK_UPPER_PDU, WTAP_MAX_PACKET_SIZE,
+ FALSE, shb_hdr, idb_inf, NULL, &err);
+ capfile_name = g_strdup(tmpname);
if (exp_pdu_tap_data->wdh == NULL) {
- open_failure_alert_box(capfile_name, err, TRUE);
+ open_failure_alert_box(capfile_name ? capfile_name : "temporary file", err, TRUE);
goto end;
}
-
/* Run the tap */
cf_retap_packets(&cfile);