diff options
Diffstat (limited to 'src/pacman')
| -rw-r--r-- | src/pacman/callback.c | 2 | ||||
| -rw-r--r-- | src/pacman/util.c | 23 | 
2 files changed, 16 insertions, 9 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c index 629c2e1c..01e65a95 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c @@ -592,7 +592,7 @@ void cb_dl_progress(const char *filename, int file_xfered, int file_total,  /* Callback to handle notifications from the library */  void cb_log(pmloglevel_t level, char *fmt, va_list args)  { -	if(strlen(fmt) == 0) { +	if(!fmt || strlen(fmt) == 0) {  		return;  	} diff --git a/src/pacman/util.c b/src/pacman/util.c index 42436e26..aa08eb26 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -224,6 +224,10 @@ void indentprint(const char *str, int indent)  	const wchar_t *p;  	int len, cidx; +	if(!str) { +		return; +	} +  	len = strlen(str) + 1;  	wcstr = calloc(len, sizeof(wchar_t));  	len = mbstowcs(wcstr, str, len); @@ -401,14 +405,17 @@ void list_display(const char *title, const alpm_list_t *list)  	int cols, len;  	wchar_t *wcstr; -	/* len goes from # bytes -> # chars -> # cols */ -	len = strlen(title) + 1; -	wcstr = calloc(len, sizeof(wchar_t)); -	len = mbstowcs(wcstr, title, len); -	len = wcswidth(wcstr, len); -	free(wcstr); - -	printf("%s ", title); +	if(title) { +		/* len goes from # bytes -> # chars -> # cols */ +		len = strlen(title) + 1; +		wcstr = calloc(len, sizeof(wchar_t)); +		len = mbstowcs(wcstr, title, len); +		len = wcswidth(wcstr, len); +		free(wcstr); +		printf("%s ", title); +	} else { +		len = 0; +	}  	if(list) {  		for(i = list, cols = len; i; i = alpm_list_next(i)) {  | 
