+ if(progress) {
+ if((bytes == 0) || ((bytes & ~0xFFFFF) != ((bytes + ret) & ~0xFFFFF))) {
+ bytes += ret;
+ fprintf(stderr, "\033[1G");
+ if(argc - optind > 1)
+ fprintf(stderr, "%s: ", argv[i]);
+ if(sb.st_size < 0) {
+ fprintf(stderr, "%i", bytes);
+ } else {
+ fprintf(stderr, "%i%%", (int)(((float)bytes / (float)sb.st_size) * 100.0));
+ }
+ fprintf(stderr, "\033[K");
+ fflush(stderr);
+ } else {
+ bytes += ret;
+ }
+ }