From 19628443177234f9ef5770c0c389429ca7370158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20T=C3=BCxen?= Date: Tue, 12 Jul 2005 21:04:05 +0000 Subject: From Irene Ruengeler: Handle multiple gap reports correctly and use correct name of a button. svn path=/trunk/; revision=14908 --- gtk/sctp_graph_dlg.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'gtk/sctp_graph_dlg.c') diff --git a/gtk/sctp_graph_dlg.c b/gtk/sctp_graph_dlg.c index 986bd00668..6a5f9dad6d 100644 --- a/gtk/sctp_graph_dlg.c +++ b/gtk/sctp_graph_dlg.c @@ -198,23 +198,17 @@ static void draw_sack_graph(struct sctp_udata *u_data) sack_header =(struct sack_chunk_header *)tlist->data; nr=ntohs(sack_header->nr_of_gaps); tsnumber = ntohl(sack_header->cum_tsn_ack); - if (nr>0) - { - /* FIXME: Only the first gap report is considered */ - gap = (struct gaps *)&(sack_header->tsns); - gap_start=ntohs(gap->start); - gap_end = ntohs(gap->end); - max_num=gap_end+tsnumber; - } - else - max_num=tsnumber; if (sack->secs>=u_data->io->x1_tmp_sec) { if (nr>0) { + gap = (struct gaps *)(&(sack_header->tsns)); for(i=0;istart); + gap_end = ntohs(gap->end); + max_num=gap_end+tsnumber; for (j=gap_start; j<=gap_end; j++) { diff=sack->secs*1000000+sack->usecs-u_data->io->min_x; @@ -223,8 +217,12 @@ static void draw_sack_graph(struct sctp_udata *u_data) (guint32)(u_data->io->pixmap_height-BOTTOM_BORDER-u_data->io->offset-((SUB_32(j+tsnumber,min_tsn))*u_data->io->y_interval)), 3, 3,0, (64*360) ); } + if (i < nr-1) + gap++; } } + else + max_num=tsnumber; if (tsnumber>=min_tsn) { diff=sack->secs*1000000+sack->usecs-u_data->io->min_x; -- cgit v1.2.3