$OpenBSD: patch-toconf_c,v 1.1 2001/03/14 15:04:12 naddy Exp $ --- toconf.c.orig Sat Jan 2 00:57:42 1999 +++ toconf.c Wed Mar 14 15:23:38 2001 @@ -175,6 +175,14 @@ readconfigfile (const char *filename) if (!(toconf = (toconf_entry *) realloc(toconf, sizeof(toconf_entry) * toconf_num))) out_of_memory(); + /* + * Backward compatibility, accept tosharc entries without the + * ATAPI flag. + */ + if (*cptr == '0' || *cptr == '1') + toconf[cn].atapi = readbool(&cptr, "atapi", &fs); + else + toconf[cn].atapi = 0; toconf[cn].vendor = readstring(&cptr, "vendor", &fs); toconf[cn].product = readstring(&cptr, "product", &fs); toconf[cn].version = readstring(&cptr, "version", &fs); @@ -257,7 +265,7 @@ toconf_readconfig (void) toconf_entry * toconf_searchentry - (const char *vendor, const char *product, const char *version) + (const char *vendor, const char *product, const char *version, int atapi) { toconf_entry *te; int i, l1, l2, l3; @@ -267,18 +275,20 @@ toconf_searchentry l1 = strlen(te->vendor); l2 = strlen(te->product); l3 = strlen(te->version); - if (!l1 && !l2 && !l3) { + if (te->atapi == atapi && !l1 && !l2 && !l3) { fprintf (stderr, "%s: Warning: Unknown drive, " "using default configuration!\n", me); return te; } if ((!l1 || !strncmp(te->vendor, vendor, l1)) && (!l2 || !strncmp(te->product, product, l2)) && - (!l3 || !strncmp(te->version, version, l3))) + (!l3 || !strncmp(te->version, version, l3)) && + atapi == te->atapi) return te; } fprintf (stderr, - "%s: Error: Unknown drive and missing default entry!\n", me); + "%s: Error: Unknown drive and missing default %s entry!\n", me, + atapi ? "ATAPI" : "SCSI"); exit (1); }