summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2008-09-20 17:09:17 +0200
committerDan McGee <dan@archlinux.org>2008-10-13 04:28:05 +0200
commitce3d70aa99ab86d49756d1858580750f2f13dd9e (patch)
treeb767396c004dccfeb3dad9977959f45f25bc21b9
parentf9be2334f7b01ba30235500cb12d4ed61fff564b (diff)
downloadpacman-ce3d70aa99ab86d49756d1858580750f2f13dd9e.tar.gz
pacman-ce3d70aa99ab86d49756d1858580750f2f13dd9e.tar.xz
Reduce number of calls to getcols()
Every call to getcols() results in two ioctl() calls, which we really didn't need as changing the number of columns in mid-print would be pretty crazy. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--src/pacman/util.c11
-rw-r--r--src/pacman/util.h6
2 files changed, 9 insertions, 8 deletions
diff --git a/src/pacman/util.c b/src/pacman/util.c
index c31714e4..8cfa675a 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -59,7 +59,7 @@ int trans_init(pmtranstype_t type, pmtransflag_t flags)
return(0);
}
-int trans_release()
+int trans_release(void)
{
if(alpm_trans_release() == -1) {
pm_fprintf(stderr, PM_LOG_ERROR, _("failed to release transaction (%s)\n"),
@@ -69,7 +69,7 @@ int trans_release()
return(0);
}
-int needs_transaction()
+int needs_transaction(void)
{
if(config->op != PM_OP_MAIN && config->op != PM_OP_QUERY && config->op != PM_OP_DEPTEST) {
if((config->op == PM_OP_SYNC && !config->op_s_sync &&
@@ -85,7 +85,7 @@ int needs_transaction()
}
/* gets the current screen column width */
-int getcols()
+int getcols(void)
{
if(!isatty(1)) {
/* We will default to 80 columns if we're not a tty
@@ -252,7 +252,7 @@ void indentprint(const char *str, int indent)
{
wchar_t *wcstr;
const wchar_t *p;
- int len, cidx;
+ int len, cidx, cols;
if(!str) {
return;
@@ -267,6 +267,7 @@ void indentprint(const char *str, int indent)
if(!p) {
return;
}
+ cols = getcols();
while(*p) {
if(*p == L' ') {
@@ -283,7 +284,7 @@ void indentprint(const char *str, int indent)
while(q < next) {
len += wcwidth(*q++);
}
- if(len > (getcols() - cidx - 1)) {
+ if(len > (cols - cidx - 1)) {
/* wrap to a newline and reindent */
fprintf(stdout, "\n%-*s", indent, "");
cidx = indent;
diff --git a/src/pacman/util.h b/src/pacman/util.h
index f94f0aed..5eeec8d2 100644
--- a/src/pacman/util.h
+++ b/src/pacman/util.h
@@ -37,9 +37,9 @@
#define UPDATE_SPEED_SEC 0.2f
int trans_init(pmtranstype_t type, pmtransflag_t flags);
-int trans_release();
-int needs_transaction();
-int getcols();
+int trans_release(void);
+int needs_transaction(void);
+int getcols(void);
int makepath(const char *path);
int rmrf(const char *path);
char *mbasename(const char *path);