diff options
Diffstat (limited to 'src')
-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)) { |