diff options
author | wpaul <wpaul@FreeBSD.org> | 2003-12-13 08:48:35 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2003-12-13 08:48:35 +0000 |
commit | 2dcb6042e5dca6b4da469eeede1fd8c6153adf22 (patch) | |
tree | dd272a32f6054f3c43b2983ee5820bf6bf054cab /usr.sbin/ndiscvt | |
parent | a23cee861d656b30588cd8639445c56ba18260c3 (diff) | |
download | FreeBSD-src-2dcb6042e5dca6b4da469eeede1fd8c6153adf22.zip FreeBSD-src-2dcb6042e5dca6b4da469eeede1fd8c6153adf22.tar.gz |
Support yet another variant of WinXP .INF files.
Diffstat (limited to 'usr.sbin/ndiscvt')
-rw-r--r-- | usr.sbin/ndiscvt/inf.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/usr.sbin/ndiscvt/inf.c b/usr.sbin/ndiscvt/inf.c index 8262638..46f1146 100644 --- a/usr.sbin/ndiscvt/inf.c +++ b/usr.sbin/ndiscvt/inf.c @@ -153,7 +153,8 @@ dump_deviceids() /* Find manufacturer section */ if (manf->vals[1] != NULL && - strcasecmp(manf->vals[1], "NT.5.1") == 0) { + (strcasecmp(manf->vals[1], "NT.5.1") == 0 || + strcasecmp(manf->vals[1], "NTx86.5.1") == 0)) { /* Handle Windows XP INF files. */ snprintf(xpsec, sizeof(xpsec), "%s.%s", manf->vals[0], manf->vals[1]); @@ -370,7 +371,8 @@ dump_regvals(void) /* Find manufacturer section */ if (manf->vals[1] != NULL && - strcasecmp(manf->vals[1], "NT.5.1") == 0) { + (strcasecmp(manf->vals[1], "NT.5.1") == 0 || + strcasecmp(manf->vals[1], "NTx86.5.1") == 0)) { is_winxp++; /* Handle Windows XP INF files. */ snprintf(sname, sizeof(sname), "%s.%s", @@ -402,9 +404,13 @@ dump_regvals(void) * Look for section names with .NT, unless * this is a WinXP .INF file. */ - if (is_winxp) - dev = find_assign(assign->vals[0], "AddReg"); - else { + if (is_winxp) { + sprintf(sname, "%s.NTx86", assign->vals[0]); + dev = find_assign(sname, "AddReg"); + if (dev == NULL) + dev = find_assign(assign->vals[0], + "AddReg"); + } else { sprintf(sname, "%s.NT", assign->vals[0]); dev = find_assign(sname, "AddReg"); } |