"unsigned",
"struct",
"enum",
+ "CONST",
};
static const char *known_ptr_types[] = {
"HGDIOBJ",
"HGLOBAL",
"HINSTANCE",
+ "HIMC",
"HMODULE",
"HRGN",
"HRSRC",
"HKEY",
"HMENU",
"HWND",
- "PLONG",
+ "PCRITICAL_SECTION",
"PDWORD",
+ "PHKEY",
+ "PLONG",
+ "PMEMORY_BASIC_INFORMATION",
+ "PUINT",
"PVOID",
"PCVOID",
"DLGPROC",
+ "TIMERPROC",
+ "WNDENUMPROC",
"va_list",
"__VALIST",
};
ret = n1 - name;
type->name = strndup(name, ret);
+ if (IS(type->name, "VOID"))
+ memcpy(type->name, "void", 4);
+
return ret;
}
p++;
break;
}
- if (*p == ',')
+ if (xarg > 0) {
+ if (*p != ',') {
+ printf("%s:%d:%zd: ',' expected\n",
+ hdrfn, hdrfline, (p - protostr) + 1);
+ return -1;
+ }
p = sskip(p + 1);
+ }
if (!strncmp(p, "...", 3)) {
pp->is_vararg = 1;