notaz.gp2x.de
/
ia32rtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
translate: handle yet more things
[ia32rtools.git]
/
tools
/
protoparse.h
diff --git
a/tools/protoparse.h
b/tools/protoparse.h
index
8a6bf82
..
93129a1
100644
(file)
--- a/
tools/protoparse.h
+++ b/
tools/protoparse.h
@@
-224,6
+224,8
@@
static const char *known_ptr_types[] = {
"PLONG",
"PMEMORY_BASIC_INFORMATION",
"PUINT",
"PLONG",
"PMEMORY_BASIC_INFORMATION",
"PUINT",
+ "PULARGE_INTEGER",
+ "PULONG_PTR",
"PVOID",
"PCVOID",
"PWORD",
"PVOID",
"PCVOID",
"PWORD",
@@
-665,8
+667,8
@@
static int parse_protostr(char *protostr, struct parsed_proto *pp)
pp->has_retreg |= is_retreg;
}
pp->has_retreg |= is_retreg;
}
- if (strstr(arg->type.name, "int64")
-
|| IS(arg->type.name, "double"
))
+ if (
!arg->type.is_ptr && (
strstr(arg->type.name, "int64")
+
|| IS(arg->type.name, "double")
))
{
// hack..
free(arg->type.name);
{
// hack..
free(arg->type.name);
@@
-867,7
+869,8
@@
static const struct parsed_proto *proto_parse(FILE *fhdr, const char *sym,
if (pp_cache == NULL)
build_caches(fhdr);
if (pp_cache == NULL)
build_caches(fhdr);
- if (sym[0] == '_') // && strncmp(fname, "stdc", 4) == 0)
+ // ugh...
+ if (sym[0] == '_' && !IS_START(sym, "__W"))
sym++;
strcpy(pp_search.name, sym);
sym++;
strcpy(pp_search.name, sym);