diff options
author | Aaron Griffin <aaron@archlinux.org> | 2007-02-17 09:55:05 +0100 |
---|---|---|
committer | Aaron Griffin <aaron@archlinux.org> | 2007-02-17 09:55:05 +0100 |
commit | 92ad5565128d4e6546437b2f28e90cced7c11e03 (patch) | |
tree | d49354ac84ce414df3108bae105a57800178b96d /src | |
parent | 1dff742de81f37eccda914167f05415bfe2abff0 (diff) | |
download | pacman-92ad5565128d4e6546437b2f28e90cced7c11e03.tar.gz pacman-92ad5565128d4e6546437b2f28e90cced7c11e03.tar.xz |
* A whole mess of backup changes
- the code should be clearer, more organized, commented, and have worthwhile
variable names now
- proactive backup=()s now work. That is, adding a file to a backup array
does what it should on the upgrade to that package, no longer forcing you to
wait a full upgrade cycle for it to take effect
* ldconfig was being run twice on an upgrade operation - fixed
* fixed another pm_fprintf/printf output corruption with the progress bars
* refactored some duplicate code for adjusting 'requiredby' lists
* Added config.rpath to .cvsignore
Diffstat (limited to 'src')
-rw-r--r-- | src/pacman/downloadprog.c | 5 | ||||
-rw-r--r-- | src/pacman/log.c | 4 | ||||
-rw-r--r-- | src/pacman/trans.c | 5 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/pacman/downloadprog.c b/src/pacman/downloadprog.c index 6a1b4824..0d5a9b22 100644 --- a/src/pacman/downloadprog.c +++ b/src/pacman/downloadprog.c @@ -62,6 +62,11 @@ void log_progress(const char *filename, int xfered, int total) return; } + /* XXX: big fat hack: due to the fact that we switch out printf/pm_fprintf, + * not everything honors our 'neednl' newline hackery. This forces a newline + * if we need one before drawing the progress bar */ + MSG(NL,NULL); + /* this is basically a switch on xferred: 0, total, and anything else */ if(xfered == 0) { /* set default starting values */ diff --git a/src/pacman/log.c b/src/pacman/log.c index a639159f..501f32d2 100644 --- a/src/pacman/log.c +++ b/src/pacman/log.c @@ -113,6 +113,10 @@ void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...) neednl = 0; } + if(!fmt) { + return; + } + va_start(args, fmt); vsnprintf(str, LOG_STR_LEN, fmt, args); va_end(args); diff --git a/src/pacman/trans.c b/src/pacman/trans.c index 22443216..ebc11a8d 100644 --- a/src/pacman/trans.c +++ b/src/pacman/trans.c @@ -287,6 +287,11 @@ void cb_trans_progress(pmtransprog_t event, char *pkgname, const int percent, return; } + /* XXX: big fat hack: due to the fact that we switch out printf/pm_fprintf, + * not everything honors our 'neednl' newline hackery. This forces a newline + * if we need one before drawing the progress bar */ + MSG(NL,NULL); + if(percent == 0) { set_output_padding(1); /* turn on output padding with ' ' */ timediff = get_update_timediff(1); |