summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitsuru IWASAKI <iwasaki@FreeBSD.org>2000-05-17 18:29:17 +0000
committerMitsuru IWASAKI <iwasaki@FreeBSD.org>2000-05-17 18:29:17 +0000
commit83896393a60b631a10e349c34643c1eff7968ae8 (patch)
treefa9c9e1a3b047e28c16ae3377f5e5158211f74b3
parentb787acb5e31f387d435112a9366b9dd3b9eb4e5b (diff)
Notes
-rw-r--r--usr.sbin/pccard/pccardd/cardd.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/usr.sbin/pccard/pccardd/cardd.c b/usr.sbin/pccard/pccardd/cardd.c
index ccac0b3da9b1..e8e16224f42b 100644
--- a/usr.sbin/pccard/pccardd/cardd.c
+++ b/usr.sbin/pccard/pccardd/cardd.c
@@ -206,6 +206,21 @@ card_removed(struct slot *sp)
pool_irq[sp->irq] = 1;
}
+/* CIS string comparison */
+
+static int
+cis_strcmp(char *db, char *cis)
+{
+ size_t n;
+
+ if (!db || !cis) {
+ return -1;
+ }
+ n = strlen(db);
+ return strncmp(db, cis, n);
+ /* XXX Add code for regex CIS string comparison here */
+}
+
/*
* card_inserted - Card has been inserted;
* - Read the CIS
@@ -235,8 +250,8 @@ card_inserted(struct slot *sp)
for (cp = cards; cp; cp = cp->next) {
switch (cp->deftype) {
case DT_VERS:
- if (strcmp(cp->manuf, sp->cis->manuf) == 0 &&
- strcmp(cp->version, sp->cis->vers) == 0) {
+ if (cis_strcmp(cp->manuf, sp->cis->manuf) == 0 &&
+ cis_strcmp(cp->version, sp->cis->vers) == 0) {
logmsg("Card \"%s\"(\"%s\") "
"matched \"%s\" (\"%s\") ",
sp->cis->manuf, sp->cis->vers,