View | Details | Raw Unified
Collapse All | Expand All

(-) ./wget-1.10/src/progress.c (-16 / +58 lines)
 Lines 262-271    Link Here 
}
}
static void
static void
print_percentage (wgint bytes, wgint expected)
print_percentage (long bytes, long expected,
{
                  long row_size,
  int percentage = (int)(100.0 * bytes / expected);
                  long dltime, struct dot_progress *dp )
  logprintf (LOG_VERBOSE, "%3d%%", percentage);
{
  int percentage = -1;
  long d_time = 0; /* time elapsed since last call */
  long speed = 0; /* download speed in bytes/sec */
  long estimate = 0; /* estimated remaining time in seconds */
  char buf[100];
  char* pc;
  
  pc = buf;
  *pc = 0;
  if( dltime > dp->last_timer_value ) 
    {
    d_time = dltime - dp->last_timer_value;
    speed = (long)( row_size / ( d_time / 1000.0 ) );
    if ( speed > 0 )
      estimate = ( expected - bytes ) / speed;
    dp->last_timer_value = dltime;
    }
  if ( expected )
    percentage = (int)(100.0 * bytes / expected);
  pc += sprintf( pc, percentage >= 0 ? "%3d%% " : " ??%% ", percentage );
  if ( d_time == 0 ) { /* we are too fast :) -- print percentage only */
    logprintf( LOG_VERBOSE, "%s", buf );
    return;
    }
  /* print download rate */
  if ( speed < 1024 )
    pc += sprintf( pc, "%4ldB", speed );
  else if ( speed < 1024*10 )
    pc += sprintf( pc, "%4.2fK", speed / 1024.0 );
  else if ( speed < 1024*100 )
    pc += sprintf( pc, "%4.1fK", speed / 1024.0 );
  else if ( speed < 1024*1000 )
    pc += sprintf( pc, "%4.0fK", speed / 1024.0 );
  else if ( speed < 1024*1024*10 )
    pc += sprintf( pc, "%4.2fM", speed / (1024.0*1024.0) );
  else if ( speed < 1024*1024*100 )
    pc += sprintf( pc, "%4.1fM", speed / (1024.0*1024.0) );
  else
    pc += sprintf( pc, "%4.0fM", speed / (1024.0*1024.0) );
  /* print ETA in minutes:seconds */
  pc += sprintf( pc, estimate > 0 ? "%4ld:%02ld" : "       ", estimate / 60, estimate % 60 );
  logprintf( LOG_VERBOSE, "%s", buf );
}
}
static void
static void
 Lines 307-315    Link Here 
	  ++dp->rows;
	  ++dp->rows;
	  dp->dots = 0;
	  dp->dots = 0;
	  if (dp->total_length)
    print_percentage (dp->rows * row_bytes, dp->total_length,
	    print_percentage (dp->rows * row_bytes, dp->total_length);
                      row_qty, dltime, dp );
	  print_download_speed (dp, row_qty, dltime);
	}
	}
    }
    }
 Lines 336-354    Link Here 
	logputs (LOG_VERBOSE, " ");
	logputs (LOG_VERBOSE, " ");
      logputs (LOG_VERBOSE, " ");
      logputs (LOG_VERBOSE, " ");
    }
    }
  if (dp->total_length)
    {
      print_percentage (dp->rows * row_bytes
			+ dp->dots * dot_bytes
			+ dp->accumulated,
			dp->total_length);
    }
  {
  {
    wgint row_qty = dp->dots * dot_bytes + dp->accumulated;
    wgint row_qty = dp->dots * dot_bytes + dp->accumulated;
    if (dp->rows == dp->initial_length / row_bytes)
    if (dp->rows == dp->initial_length / row_bytes)
      row_qty -= dp->initial_length % row_bytes;
      row_qty -= dp->initial_length % row_bytes;
    print_download_speed (dp, row_qty, dltime);
    print_percentage (dp->rows * row_bytes
			+ dp->dots * dot_bytes
			+ dp->accumulated,
			dp->total_length, row_qty, dltime, dp );
  }
  }
  logputs (LOG_VERBOSE, "\n\n");
  logputs (LOG_VERBOSE, "\n\n");