View | Details | Raw Unified | Return to bug 2434 | Differences between
and this patch

Collapse All | Expand All

(-)a/progressmeter.c (-16 / +5 lines)
Lines 119-132 format_size(char *buf, int size, off_t bytes) Link Here
119
void
119
void
120
refresh_progress_meter(void)
120
refresh_progress_meter(void)
121
{
121
{
122
	char buf[MAX_WINSIZE + 1];
122
	char buf[MAX_WINSIZE + 1], displayname[MAX_WINSIZE];
123
	off_t transferred;
123
	off_t transferred;
124
	double elapsed, now;
124
	double elapsed, now;
125
	int percent;
125
	int percent;
126
	off_t bytes_left;
126
	off_t bytes_left;
127
	int cur_speed;
127
	int cur_speed;
128
	int hours, minutes, seconds;
128
	int hours, minutes, seconds;
129
	int i, len;
130
	int file_len;
129
	int file_len;
131
130
132
	transferred = *counter - (cur_pos ? cur_pos : start_pos);
131
	transferred = *counter - (cur_pos ? cur_pos : start_pos);
Lines 157-182 refresh_progress_meter(void) Link Here
157
		bytes_per_second = cur_speed;
156
		bytes_per_second = cur_speed;
158
157
159
	/* filename */
158
	/* filename */
160
	buf[0] = '\0';
161
	file_len = win_size - 35;
159
	file_len = win_size - 35;
162
	if (file_len > 0) {
160
	displayname[0] = '\0';
163
		len = snprintf(buf, file_len + 1, "\r%s", file);
161
	if (file_len > 0)
164
		if (len < 0)
162
		snprintf(displayname, file_len, "%*s ", file_len * -1, file);
165
			len = 0;
166
		if (len >= file_len + 1)
167
			len = file_len;
168
		for (i = len; i < file_len; i++)
169
			buf[i] = ' ';
170
		buf[file_len] = '\0';
171
	}
172
163
173
	/* percent of transfer done */
164
	/* percent of transfer done */
174
	if (end_pos == 0 || cur_pos == end_pos)
165
	if (end_pos == 0 || cur_pos == end_pos)
175
		percent = 100;
166
		percent = 100;
176
	else
167
	else
177
		percent = ((float)cur_pos / end_pos) * 100;
168
		percent = ((float)cur_pos / end_pos) * 100;
178
	snprintf(buf + strlen(buf), win_size - strlen(buf),
169
	snprintf(buf, sizeof(buf), "\r%s %3d%% ", displayname, percent);
179
	    " %3d%% ", percent);
180
170
181
	/* amount transferred */
171
	/* amount transferred */
182
	format_size(buf + strlen(buf), win_size - strlen(buf),
172
	format_size(buf + strlen(buf), win_size - strlen(buf),
183
- 

Return to bug 2434