Have "f_datalen" keep track of the number of bytes of uncompressed file
data, so that "f_len" still keeps the size of the underlying file (which is necessary in order to make the progress bar when files are being read work correctly). svn path=/trunk/; revision=15415
This commit is contained in:
parent
1e1df99990
commit
e67b202e2c
3
cfile.h
3
cfile.h
|
@ -47,7 +47,8 @@ typedef struct _capture_file {
|
|||
gchar *filename; /* Name of capture file */
|
||||
gboolean is_tempfile; /* Is capture file a temporary file? */
|
||||
gboolean user_saved;/* If capture file is temporary, has it been saved by user yet? */
|
||||
long f_len; /* Length of capture file */
|
||||
long f_datalen; /* Size of capture file data (uncompressed) */
|
||||
long f_len; /* Length of capture file (compressed if file is) */
|
||||
guint16 cd_t; /* File type of capture file */
|
||||
int lnk_t; /* Link-layer type with which to save capture */
|
||||
guint32 vers; /* Version. For tcpdump minor is appended to major */
|
||||
|
|
4
file.c
4
file.c
|
@ -199,6 +199,7 @@ cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err)
|
|||
|
||||
cf->wth = wth;
|
||||
cf->filed = fd;
|
||||
cf->f_datalen = 0;
|
||||
cf->f_len = cf_stat.st_size;
|
||||
|
||||
/* Set the file name because we need it to set the follow stream filter.
|
||||
|
@ -297,6 +298,7 @@ cf_reset_state(capture_file *cf)
|
|||
packet_list_clear();
|
||||
packet_list_thaw();
|
||||
|
||||
cf->f_datalen = 0;
|
||||
cf->f_len = 0;
|
||||
cf->count = 0;
|
||||
cf->esec = 0;
|
||||
|
@ -891,7 +893,7 @@ read_packet(capture_file *cf, long offset)
|
|||
cf->plist_end = fdata;
|
||||
|
||||
cf->count++;
|
||||
cf->f_len = offset + phdr->caplen;
|
||||
cf->f_datalen = offset + phdr->caplen;
|
||||
fdata->num = cf->count;
|
||||
add_packet_to_packet_list(fdata, cf, pseudo_header, buf, TRUE);
|
||||
} else {
|
||||
|
|
20
gtk/main.c
20
gtk/main.c
|
@ -1209,12 +1209,12 @@ set_display_filename(capture_file *cf)
|
|||
}
|
||||
|
||||
/* convert file size */
|
||||
if (cf->f_len/1024/1024 > 10) {
|
||||
size_str = g_strdup_printf("%ld MB", cf->f_len/1024/1024);
|
||||
} else if (cf->f_len/1024 > 10) {
|
||||
size_str = g_strdup_printf("%ld KB", cf->f_len/1024);
|
||||
if (cf->f_datalen/1024/1024 > 10) {
|
||||
size_str = g_strdup_printf("%ld MB", cf->f_datalen/1024/1024);
|
||||
} else if (cf->f_datalen/1024 > 10) {
|
||||
size_str = g_strdup_printf("%ld KB", cf->f_datalen/1024);
|
||||
} else {
|
||||
size_str = g_strdup_printf("%ld Bytes", cf->f_len);
|
||||
size_str = g_strdup_printf("%ld Bytes", cf->f_datalen);
|
||||
}
|
||||
|
||||
/* statusbar */
|
||||
|
@ -1352,21 +1352,21 @@ main_cf_cb_live_capture_update_continue(capture_file *cf)
|
|||
|
||||
statusbar_pop_file_msg();
|
||||
|
||||
if (cf->f_len/1024/1024 > 10) {
|
||||
if (cf->f_datalen/1024/1024 > 10) {
|
||||
capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %ld MB",
|
||||
get_interface_descriptive_name(capture_opts->iface),
|
||||
capture_opts->save_file,
|
||||
cf->f_len/1024/1024);
|
||||
} else if (cf->f_len/1024 > 10) {
|
||||
cf->f_datalen/1024/1024);
|
||||
} else if (cf->f_datalen/1024 > 10) {
|
||||
capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %ld KB",
|
||||
get_interface_descriptive_name(capture_opts->iface),
|
||||
capture_opts->save_file,
|
||||
cf->f_len/1024);
|
||||
cf->f_datalen/1024);
|
||||
} else {
|
||||
capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %ld Bytes",
|
||||
get_interface_descriptive_name(capture_opts->iface),
|
||||
capture_opts->save_file,
|
||||
cf->f_len);
|
||||
cf->f_datalen);
|
||||
}
|
||||
|
||||
statusbar_push_file_msg(capture_msg);
|
||||
|
|
|
@ -106,7 +106,7 @@ summary_fill_in(capture_file *cf, summary_tally *st)
|
|||
}
|
||||
|
||||
st->filename = cf->filename;
|
||||
st->file_length = cf->f_len;
|
||||
st->file_length = cf->f_datalen;
|
||||
st->encap_type = cf->cd_t;
|
||||
st->has_snap = cf->has_snap;
|
||||
st->snap = cf->snap;
|
||||
|
|
|
@ -2970,6 +2970,7 @@ cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err)
|
|||
|
||||
cf->wth = wth;
|
||||
cf->filed = -1; /* not used, but set it anyway */
|
||||
cf->f_datalen = 0; /* not used, but set it anyway */
|
||||
cf->f_len = 0; /* not used, but set it anyway */
|
||||
|
||||
/* Set the file name because we need it to set the follow stream filter.
|
||||
|
|
Loading…
Reference in New Issue