summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ndiscvt
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2003-12-13 08:48:35 +0000
committerwpaul <wpaul@FreeBSD.org>2003-12-13 08:48:35 +0000
commit2dcb6042e5dca6b4da469eeede1fd8c6153adf22 (patch)
treedd272a32f6054f3c43b2983ee5820bf6bf054cab /usr.sbin/ndiscvt
parenta23cee861d656b30588cd8639445c56ba18260c3 (diff)
downloadFreeBSD-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.c16
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");
}
OpenPOWER on IntegriCloud