summaryrefslogtreecommitdiffstats
path: root/misc-utils
diff options
context:
space:
mode:
Diffstat (limited to 'misc-utils')
-rw-r--r--misc-utils/blkid.c11
-rw-r--r--misc-utils/cal.c16
-rw-r--r--misc-utils/fincore.c8
-rw-r--r--misc-utils/findmnt-verify.c4
-rw-r--r--misc-utils/findmnt.c3
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) &&