progress meter: move file name to bb_progress_t. +20 bytes

We were doing expensive unicode conversion on every update

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2011-02-11 18:56:13 +01:00
parent e52e67cb51
commit d55e139649
4 changed files with 27 additions and 23 deletions

View File

@@ -1587,15 +1587,21 @@ typedef struct bb_progress_t {
off_t lastsize;
unsigned lastupdate_sec;
unsigned start_sec;
smallint inited;
const char *curfile;
} bb_progress_t;
void bb_progress_init(bb_progress_t *p) FAST_FUNC;
void bb_progress_update(bb_progress_t *p, const char *curfile,
#define is_bb_progress_inited(p) ((p)->curfile != NULL)
#define bb_progress_free(p) do { \
if (ENABLE_UNICODE_SUPPORT) free((char*)((p)->curfile)); \
(p)->curfile = NULL; \
} while (0)
void bb_progress_init(bb_progress_t *p, const char *curfile) FAST_FUNC;
void bb_progress_update(bb_progress_t *p,
uoff_t beg_range,
uoff_t transferred,
uoff_t totalsize) FAST_FUNC;
extern const char *applet_name;
/* Some older linkers don't perform string merging, we used to have common strings