Index: infparse.c
===================================================================
RCS file: /home/wine/wine/dlls/setupapi/infparse.c,v
retrieving revision 1.21
diff -u -r1.21 infparse.c
--- infparse.c	21 Oct 2003 23:45:43 -0000	1.21
+++ infparse.c	16 Mar 2005 21:28:01 -0000
@@ -148,12 +148,18 @@
 {
     UNICODE_STRING srcW;
     HINF hinf = get_hinf( hinf16 );
+    char* p;
 
     if (!hinf) return;
 
     if (!RtlCreateUnicodeStringFromAsciiz( &srcW, src )) return;
     PARSER_string_substA( hinf, srcW.Buffer, dst, MAX_INF_STRING_LENGTH );
     RtlFreeUnicodeString( &srcW );
+    for (p = dst; *p; p++) {
+      if (*p == ';' || *p == '\t') {
+	*p = 0; break ;
+      }
+    }
     TRACE( "%s -> %s\n", debugstr_a(src), debugstr_a(dst) );
 }
 
Index: parser.c
===================================================================
RCS file: /home/wine/wine/dlls/setupapi/parser.c,v
retrieving revision 1.15
diff -u -r1.15 parser.c
--- parser.c	23 Dec 2004 17:12:07 -0000	1.15
+++ parser.c	16 Mar 2005 21:28:04 -0000
@@ -349,7 +349,7 @@
 }
 
 
-/* do string substitutions on the specified text */
+/* do string substitutions on the specified valid text (ie no comments)  */
 /* the buffer is assumed to be large enough */
 /* returns necessary length not including terminating null */
 unsigned int PARSER_string_substW( struct inf_file *file, const WCHAR *text, WCHAR *buffer,
