/* file.c
* File I/O routines
*
- * $Id: file.c,v 1.305 2003/09/03 10:49:01 sahlberg Exp $
+ * $Id: file.c,v 1.306 2003/09/03 23:15:40 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
}
}
- /* XXX - do something with "err" */
- wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header,
- cf->pd, fdata->cap_len, &err);
+ if (!wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header,
+ cf->pd, fdata->cap_len, &err)) {
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ file_read_error_message(err), cf->filename);
+ break;
+ }
row = add_packet_to_packet_list(fdata, cf, &cf->pseudo_header, cf->pd,
refilter);
*/
if (((print_args->suppress_unmarked && fdata->flags.marked ) ||
!(print_args->suppress_unmarked)) && fdata->flags.passed_dfilter) {
- /* XXX - do something with "err" */
- wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header,
- cf->pd, fdata->cap_len, &err);
+ if (!wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header,
+ cf->pd, fdata->cap_len, &err)) {
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ file_read_error_message(err), cf->filename);
+ break;
+ }
if (print_args->print_summary) {
/* Fill in the column information, but don't bother creating
the logical protocol tree. */
/* Is this packet in the display? */
if (fdata->flags.passed_dfilter) {
/* Yes. Load its data. */
- /* XXX - do something with "err" */
- wtap_seek_read(cf->wth, fdata->file_off, &cf->pseudo_header,
- cf->pd, fdata->cap_len, &err);
+ if (!wtap_seek_read(cf->wth, fdata->file_off, &cf->pseudo_header,
+ cf->pd, fdata->cap_len, &err)) {
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ file_read_error_message(err), cf->filename);
+ break;
+ }
/* Does it match the search criterion? */
if ((*match_function)(cf, fdata, criterion)) {
fdata = cf->first_displayed;
}
+ /* Get the data in that frame. */
+ if (!wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header,
+ cf->pd, fdata->cap_len, &err)) {
+ simple_dialog(ESD_TYPE_CRIT, NULL,
+ file_read_error_message(err), cf->filename);
+ return;
+ }
+
/* Record that this frame is the current frame. */
cf->current_frame = fdata;
- /* Get the data in that frame. */
- /* XXX - do something with "err" */
- wtap_seek_read (cf->wth, fdata->file_off, &cf->pseudo_header,
- cf->pd, fdata->cap_len, &err);
-
/* Create the logical protocol tree. */
if (cf->edt != NULL) {
epan_dissect_free(cf->edt);