diff options
Diffstat (limited to 'misc-utils')
-rw-r--r-- | misc-utils/blkid.c | 11 | ||||
-rw-r--r-- | misc-utils/cal.c | 16 | ||||
-rw-r--r-- | misc-utils/fincore.c | 8 | ||||
-rw-r--r-- | misc-utils/findmnt-verify.c | 4 | ||||
-rw-r--r-- | misc-utils/findmnt.c | 3 |
5 files changed, 26 insertions, 16 deletions
diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c index 2b13f71c0..f2583d2b8 100644 --- a/misc-utils/blkid.c +++ b/misc-utils/blkid.c @@ -225,13 +225,18 @@ static void pretty_print_dev(blkid_dev dev) mtpt[0] = 0; retval = check_mount_point(devname, &mount_flags, mtpt, sizeof(mtpt)); if (retval == 0) { + const char *msg = NULL; + if (mount_flags & MF_MOUNTED) { if (!mtpt[0]) - strcpy(mtpt, _("(mounted, mtpt unknown)")); + msg = _("(mounted, mtpt unknown)"); } else if (mount_flags & MF_BUSY) - strcpy(mtpt, _("(in use)")); + msg = _("(in use)"); else - strcpy(mtpt, _("(not mounted)")); + msg = _("(not mounted)"); + + if (msg) + xstrncpy(mtpt, msg, sizeof(mtpt)); } pretty_print_line(devname, fs_type, label, mtpt, uuid); diff --git a/misc-utils/cal.c b/misc-utils/cal.c index c7e8d9511..1d4d24134 100644 --- a/misc-utils/cal.c +++ b/misc-utils/cal.c @@ -580,13 +580,19 @@ int main(int argc, char **argv) ctl.months_in_row = MONTHS_IN_YEAR_ROW; /* default */ if (isatty(STDOUT_FILENO)) { - int w = get_terminal_width(STDOUT_FILENO); - int mw = ctl.julian ? DOY_MONTH_WIDTH : DOM_MONTH_WIDTH; - int extra = ((w / mw) - 1) * ctl.gutter_width; - int new_n = (w - extra) / mw; + int w, mw, extra, new_n; + + w = get_terminal_width(80); + mw = ctl.julian ? DOY_MONTH_WIDTH : DOM_MONTH_WIDTH; + + if (w < mw) + w = mw; + + extra = ((w / mw) - 1) * ctl.gutter_width; + new_n = (w - extra) / mw; if (new_n < MONTHS_IN_YEAR_ROW) - ctl.months_in_row = new_n; + ctl.months_in_row = new_n > 0 ? new_n : 1; } } else if (!ctl.months_in_row) ctl.months_in_row = 1; diff --git a/misc-utils/fincore.c b/misc-utils/fincore.c index 0fb1a759a..03ff4d154 100644 --- a/misc-utils/fincore.c +++ b/misc-utils/fincore.c @@ -196,7 +196,6 @@ static int fincore_fd (struct fincore_control *ctl, size_t window_size = N_PAGES_IN_WINDOW * ctl->pagesize; off_t file_offset, len; int rc = 0; - int warned_once = 0; for (file_offset = 0; file_offset < file_size; file_offset += len) { void *window = NULL; @@ -207,11 +206,8 @@ static int fincore_fd (struct fincore_control *ctl, window = mmap(window, len, PROT_NONE, MAP_PRIVATE, fd, file_offset); if (window == MAP_FAILED) { - if (!warned_once) { - rc = -EINVAL; - warn(_("failed to do mmap: %s"), name); - warned_once = 1; - } + rc = -EINVAL; + warn(_("failed to do mmap: %s"), name); break; } diff --git a/misc-utils/findmnt-verify.c b/misc-utils/findmnt-verify.c index 1cc62def9..132fe7fb3 100644 --- a/misc-utils/findmnt-verify.c +++ b/misc-utils/findmnt-verify.c @@ -97,7 +97,9 @@ static int verify_order(struct verify_context *vfy) /* set iterator position to 'fs' */ mnt_table_set_iter(vfy->tb, itr, vfy->fs); - mnt_table_next_fs(vfy->tb, itr, &next); + + if (mnt_table_next_fs(vfy->tb, itr, &next) != 0) + goto done; /* scan all next filesystems */ while (mnt_table_next_fs(vfy->tb, itr, &next) == 0) { diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c index eea772f0e..06db03986 100644 --- a/misc-utils/findmnt.c +++ b/misc-utils/findmnt.c @@ -989,7 +989,8 @@ struct libmnt_fs *get_next_fs(struct libmnt_table *tb, * findmnt [-l] <spec> [-O <options>] [-t <types>] */ again: - mnt_table_find_next_fs(tb, itr, match_func, NULL, &fs); + if (mnt_table_find_next_fs(tb, itr, match_func, NULL, &fs) != 0) + fs = NULL; if (!fs && !(flags & FL_NOSWAPMATCH) && |