Use <> format in generated #include statements. Integer constants should be unsigned.
diff --git a/include/objidl.h b/include/objidl.h index 2732e44..8eb440c 100644 --- a/include/objidl.h +++ b/include/objidl.h
@@ -8522,7 +8522,7 @@ 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 09167a2..f723d54 100644 --- a/tools/widl/parser.l +++ b/tools/widl/parser.l
@@ -141,11 +141,11 @@ 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 @@ 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 f842f15..820f6db 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y
@@ -107,7 +107,7 @@ 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 ccf849d..791d9a5 100644 --- a/tools/widl/widl.c +++ b/tools/widl/widl.c
@@ -239,8 +239,8 @@ 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");