View | Details | Raw Unified | Return to bug 2137
Collapse All | Expand All

(-)progressmeter.c (-2 / +4 lines)
Lines 66-71 Link Here
66
static time_t start;		/* start progress */
66
static time_t start;		/* start progress */
67
static time_t last_update;	/* last progress update */
67
static time_t last_update;	/* last progress update */
68
static char *file;		/* name of the file being transferred */
68
static char *file;		/* name of the file being transferred */
69
static off_t start_pos;		/* initial position of transfer */
69
static off_t end_pos;		/* ending position of transfer */
70
static off_t end_pos;		/* ending position of transfer */
70
static off_t cur_pos;		/* transfer position as of last refresh */
71
static off_t cur_pos;		/* transfer position as of last refresh */
71
static volatile off_t *counter;	/* progress counter */
72
static volatile off_t *counter;	/* progress counter */
Lines 129-135 Link Here
129
	int i, len;
130
	int i, len;
130
	int file_len;
131
	int file_len;
131
132
132
	transferred = *counter - cur_pos;
133
	transferred = *counter - (cur_pos ? cur_pos : start_pos);
133
	cur_pos = *counter;
134
	cur_pos = *counter;
134
	now = monotime();
135
	now = monotime();
135
	bytes_left = end_pos - cur_pos;
136
	bytes_left = end_pos - cur_pos;
Lines 139-145 Link Here
139
	else {
140
	else {
140
		elapsed = now - start;
141
		elapsed = now - start;
141
		/* Calculate true total speed when done */
142
		/* Calculate true total speed when done */
142
		transferred = end_pos;
143
		transferred = end_pos - start_pos;
143
		bytes_per_second = 0;
144
		bytes_per_second = 0;
144
	}
145
	}
145
146
Lines 251-256 Link Here
251
{
252
{
252
	start = last_update = monotime();
253
	start = last_update = monotime();
253
	file = f;
254
	file = f;
255
	start_pos = *ctr;
254
	end_pos = filesize;
256
	end_pos = filesize;
255
	cur_pos = 0;
257
	cur_pos = 0;
256
	counter = ctr;
258
	counter = ctr;

Return to bug 2137