make struct progress an opaque type

This allows for better management of progress "object" existence,
as well as making the progress display implementation more independent
from its callers.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nicolas Pitre
2007-10-30 14:57:32 -04:00
committed by Junio C Hamano
parent 0e54913796
commit dc6a0757c4
7 changed files with 57 additions and 45 deletions

View File

@ -297,7 +297,7 @@ static void check_updates(struct cache_entry **src, int nr,
{
unsigned short mask = htons(CE_UPDATE);
unsigned cnt = 0, total = 0;
struct progress progress;
struct progress *progress = NULL;
char last_symlink[PATH_MAX];
if (o->update && o->verbose_update) {
@ -307,8 +307,8 @@ static void check_updates(struct cache_entry **src, int nr,
total++;
}
start_progress_delay(&progress, "Checking out files",
total, 50, 2);
progress = start_progress_delay("Checking out files",
total, 50, 2);
cnt = 0;
}
@ -318,7 +318,7 @@ static void check_updates(struct cache_entry **src, int nr,
if (total)
if (!ce->ce_mode || ce->ce_flags & mask)
display_progress(&progress, ++cnt);
display_progress(progress, ++cnt);
if (!ce->ce_mode) {
if (o->update)
unlink_entry(ce->name, last_symlink);
@ -333,7 +333,7 @@ static void check_updates(struct cache_entry **src, int nr,
}
}
if (total)
stop_progress(&progress);;
stop_progress(&progress);
}
int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options *o)