Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.sbin/sysinst Simplify CD device name matching by using f...
details: https://anonhg.NetBSD.org/src/rev/ffb4784bd18f
branches: trunk
changeset: 445672:ffb4784bd18f
user: martin <martin%NetBSD.org@localhost>
date: Thu Nov 08 11:15:58 2018 +0000
description:
Simplify CD device name matching by using fnmatch(3), suggested
by Christoph Badura.
diffstat:
usr.sbin/sysinst/disks.c | 28 +++++-----------------------
1 files changed, 5 insertions(+), 23 deletions(-)
diffs (50 lines):
diff -r c6c49c7bebba -r ffb4784bd18f usr.sbin/sysinst/disks.c
--- a/usr.sbin/sysinst/disks.c Thu Nov 08 10:55:41 2018 +0000
+++ b/usr.sbin/sysinst/disks.c Thu Nov 08 11:15:58 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: disks.c,v 1.19 2018/11/07 21:59:30 martin Exp $ */
+/* $NetBSD: disks.c,v 1.20 2018/11/08 11:15:58 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -41,6 +41,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
+#include <fnmatch.h>
#include <util.h>
#include <uuid.h>
@@ -509,29 +510,10 @@
is_cdrom_device(const char *dev)
{
static const char *cdrom_devices[] = { CD_NAMES, 0 };
- char pat[SSTRSIZE], comp[SSTRSIZE], *star, *p;
- const char **dev_pat;
- /* trim device number off */
- strcpy(comp, dev);
- for (p = comp + strlen(comp) - 1; p != comp; p--)
- if (!isdigit((unsigned char)*p))
- break;
- if (p != comp)
- p[1] = 0;
-
- for (dev_pat = cdrom_devices; *dev_pat; dev_pat++) {
- strcpy(pat, *dev_pat);
- star = strchr(pat, '*');
- if (star) {
- *star = 0;
- if (strcmp(comp, pat) == 0)
- return true;
- } else {
- if (strcmp(dev, pat) == 0)
- return true;
- }
- }
+ for (const char **dev_pat = cdrom_devices; *dev_pat; dev_pat++)
+ if (fnmatch(*dev_pat, dev, 0) == 0)
+ return true;
return false;
}
Home |
Main Index |
Thread Index |
Old Index