Several additions and bug fixes.
diff --git a/tools/winapi/output.pm b/tools/winapi/output.pm
index 6234d6c..1b46172 100644
--- a/tools/winapi/output.pm
+++ b/tools/winapi/output.pm
@@ -34,11 +34,13 @@
my $progress = \${$self->{PROGRESS}};
my $last_progress = \${$self->{LAST_PROGRESS}};
+ my $last_time = \${$self->{LAST_TIME}};
my $progress_count = \${$self->{PROGRESS_COUNT}};
my $prefix = \${$self->{PREFIX}};
$$progress = "";
$$last_progress = "";
+ $$last_time = 0;
$$progress_count = 0;
$$prefix = "";
@@ -107,10 +109,26 @@
sub progress {
my $self = shift;
my $progress = \${$self->{PROGRESS}};
+ my $last_time = \${$self->{LAST_TIME}};
$$progress = shift;
$self->update_progress;
+ $$last_time = 0;
+}
+
+sub lazy_progress {
+ my $self = shift;
+ my $progress = \${$self->{PROGRESS}};
+ my $last_time = \${$self->{LAST_TIME}};
+
+ $$progress = shift;
+
+ my $time = time();
+ if($time - $$last_time > 0) {
+ $self->update_progress;
+ $$last_time = $time;
+ }
}
sub prefix {