require attributes to have values
Modified: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp

Modified: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
--- branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml	2005-01-20 06:29:08 UTC (rev 13153)
+++ branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml	2005-01-20 06:36:37 UTC (rev 13154)
@@ -29,7 +29,7 @@
 	<directory name="ke">
 		<if property="ARCH" value="i386">
 			<directory name="i386">
-				<file first>multiboot.S</file>
+				<file first="1">multiboot.S</file>
 				<file>bios.c</file>
 				<file>brkpoint.c</file>
 				<file>bthread.S</file>

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp	2005-01-20 06:29:08 UTC (rev 13153)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp	2005-01-20 06:36:37 UTC (rev 13154)
@@ -444,6 +444,11 @@
 				p++;
 			p += strspn ( p, WS );
 		}
+		else if ( name[0] != '!' )
+		{
+			throw XMLSyntaxErrorException ( location,
+			                                "attributes must have values" );
+		}
 		attributes.push_back ( new XMLAttribute ( attribute, value ) );
 	}
 	return !( *p == '/' ) && !end_tag;

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp	2005-01-20 06:29:08 UTC (rev 13153)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp	2005-01-20 06:36:37 UTC (rev 13154)
@@ -104,7 +104,7 @@
 	{
 		const XMLAttribute* att = e.GetAttribute ( "first", false );
 		File* pFile = new File ( FixSeparator ( path + CSEP + e.value ),
-		                         att != NULL );
+		                         att && atoi(att->value.c_str()) != 0 );
 		if ( pIf )
 			pIf->files.push_back ( pFile );
 		else