diff --git a/include/objidl.h b/include/objidl.h
index 2732e440dd1a6d760453fcef9827bd8fc216cbf3..8eb440cc4493af27ec61b653c2e1753aaa4d805e 100644
--- a/include/objidl.h
+++ b/include/objidl.h
@@ -8522,7 +8522,7 @@ struct tagPROPVARIANT {
 
 typedef struct tagPROPVARIANT *LPPROPVARIANT;
 
-#define PRSPEC_INVALID (0x7fffffff)
+#define PRSPEC_INVALID (0xffffffff)
 
 #define PRSPEC_LPWSTR (0)
 
diff --git a/tools/widl/parser.l b/tools/widl/parser.l
index 09167a22681b044a71e324915af620b56d73a055..f723d5449eb0e933e6fd009a08194067b5166b1c 100644
--- a/tools/widl/parser.l
+++ b/tools/widl/parser.l
@@ -141,11 +141,11 @@ static UUID* parse_uuid(const char*u)
 				return aUUID;
 			}
 {hex}			{
-				yylval.num = strtol(yytext, NULL, 0);
+				yylval.num = strtoul(yytext, NULL, 0);
 				return aHEXNUM;
 			}
 {int}			{
-				yylval.num = strtol(yytext, NULL, 0);
+				yylval.num = strtoul(yytext, NULL, 0);
 				return aNUM;
 			}
 {cident}		return kw_token(yytext);
@@ -360,7 +360,7 @@ int do_import(char *fname)
                 p = hname + strlen(hname) - 2;
                 if (p <= hname || strcmp( p, ".h" )) strcat(hname, ".h");
 
-		fprintf(header, "#include \"%s\"\n", hname);
+		fprintf(header, "#include <%s>\n", hname);
 		free(hname);
 	}
 
diff --git a/tools/widl/parser.y b/tools/widl/parser.y
index f842f1566de60b70453d3802c10b19bc752a976e..820f6db989efa732a9519b0d5c0d00bce70ace81 100644
--- a/tools/widl/parser.y
+++ b/tools/widl/parser.y
@@ -107,7 +107,7 @@ static type_t std_uhyper = { "MIDL_uhyper" };
 	func_t *func;
 	char *str;
 	UUID *uuid;
-	int num;
+	unsigned int num;
 }
 
 %token <str> aIDENTIFIER
diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index ccf849da96aca39bfc517c44dc6fddb52ae0934d..791d9a532989477d82ad9290aafa4ae8d93d8602 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -239,8 +239,8 @@ int main(int argc,char *argv[])
 
   header = fopen(header_name, "w");
   fprintf(header, "/*** Autogenerated by WIDL %s from %s - Do not edit ***/\n", WIDL_FULLVERSION, input_name);
-  fprintf(header, "#include \"rpc.h\"\n" );
-  fprintf(header, "#include \"rpcndr.h\"\n\n" );
+  fprintf(header, "#include <rpc.h>\n" );
+  fprintf(header, "#include <rpcndr.h>\n\n" );
   fprintf(header, "#ifndef __WIDL_%s\n", header_token);
   fprintf(header, "#define __WIDL_%s\n", header_token);
   fprintf(header, "#ifdef __cplusplus\n");