diff options
| author | Dan McGee <dan@archlinux.org> | 2008-09-20 10:09:17 -0500 | 
|---|---|---|
| committer | Dan McGee <dan@archlinux.org> | 2008-10-12 21:28:05 -0500 | 
| commit | ce3d70aa99ab86d49756d1858580750f2f13dd9e (patch) | |
| tree | b767396c004dccfeb3dad9977959f45f25bc21b9 /src | |
| parent | f9be2334f7b01ba30235500cb12d4ed61fff564b (diff) | |
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>
Diffstat (limited to 'src')
| -rw-r--r-- | src/pacman/util.c | 11 | ||||
| -rw-r--r-- | src/pacman/util.h | 6 | 
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); | 
