X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=tools%2Fprotoparse.h;h=93129a17f0ba32ae0d82350b95748e18eee29b1e;hb=f9327ad4c893cce131ab39f91743d69ebac662d1;hp=8a6bf82a189f23b7f0daf61a862ca7a19b7c1c9c;hpb=285b3a6b777658e2fa5e504cfe8a2ca4221b54af;p=ia32rtools.git diff --git a/tools/protoparse.h b/tools/protoparse.h index 8a6bf82..93129a1 100644 --- a/tools/protoparse.h +++ b/tools/protoparse.h @@ -224,6 +224,8 @@ static const char *known_ptr_types[] = { "PLONG", "PMEMORY_BASIC_INFORMATION", "PUINT", + "PULARGE_INTEGER", + "PULONG_PTR", "PVOID", "PCVOID", "PWORD", @@ -665,8 +667,8 @@ static int parse_protostr(char *protostr, struct parsed_proto *pp) 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); @@ -867,7 +869,8 @@ static const struct parsed_proto *proto_parse(FILE *fhdr, const char *sym, 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);