utils_disk: fixed handling if check_disk -p is a device (np_set_best_match())

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1668 f882894a-f735-0410-b71e-b25c423dba1c
This commit is contained in:
Matthias Eble 2007-04-01 11:17:16 +00:00
parent 7cf9e06bfc
commit 5e7c9821be

View file

@ -98,25 +98,26 @@ np_set_best_match(struct parameter_list *desired, struct mount_entry *mount_list
size_t best_match_len = 0;
struct mount_entry *best_match = NULL;
/* set best match if path name exactly matches a mounted device name */
for (me = mount_list; me; me = me->me_next) {
size_t len = strlen (me->me_mountdir);
if ((exact == FALSE && (best_match_len <= len && len <= name_len &&
(len == 1 || strncmp (me->me_mountdir, d->name, len) == 0)))
|| (exact == TRUE && strcmp(me->me_mountdir, d->name)==0))
{
if (strcmp(me->me_devname, d->name)==0)
best_match = me;
best_match_len = len;
} else {
len = strlen (me->me_devname);
if ((exact == FALSE && (best_match_len <= len && len <= name_len &&
(len == 1 || strncmp (me->me_devname, d->name, len) == 0)))
|| (exact == TRUE && strcmp(me->me_devname, d->name)==0))
}
/* set best match by directory name if no match was found by devname */
if (! best_match) {
for (me = mount_list; me; me = me->me_next) {
size_t len = strlen (me->me_mountdir);
if ((exact == FALSE && (best_match_len <= len && len <= name_len &&
(len == 1 || strncmp (me->me_mountdir, d->name, len) == 0)))
|| (exact == TRUE && strcmp(me->me_mountdir, d->name)==0))
{
best_match = me;
best_match_len = len;
}
}
}
if (best_match) {
d->best_match = best_match;
} else {