summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAaron Griffin <aaron@archlinux.org>2007-02-17 08:55:05 +0000
committerAaron Griffin <aaron@archlinux.org>2007-02-17 08:55:05 +0000
commit92ad5565128d4e6546437b2f28e90cced7c11e03 (patch)
treed49354ac84ce414df3108bae105a57800178b96d /src
parent1dff742de81f37eccda914167f05415bfe2abff0 (diff)
* 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.c5
-rw-r--r--src/pacman/log.c4
-rw-r--r--src/pacman/trans.c5
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);