|
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 |
- |
|
|