X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ia32rtools.git;a=blobdiff_plain;f=tools%2Fprotoparse.h;h=897171e86197b0c7e236e4fd75dd4e3a9785780a;hp=93129a17f0ba32ae0d82350b95748e18eee29b1e;hb=2c31fb4cf1427f5a24c4eed0a08dbd3f3a2dacce;hpb=f9327ad4c893cce131ab39f91743d69ebac662d1 diff --git a/tools/protoparse.h b/tools/protoparse.h index 93129a1..897171e 100644 --- a/tools/protoparse.h +++ b/tools/protoparse.h @@ -15,6 +15,7 @@ struct parsed_type { unsigned int is_struct:1; // split for args unsigned int is_retreg:1; // register to return to caller unsigned int is_va_list:1; + unsigned int is_64bit:1; }; struct parsed_proto_arg { @@ -670,11 +671,13 @@ static int parse_protostr(char *protostr, struct parsed_proto *pp) if (!arg->type.is_ptr && (strstr(arg->type.name, "int64") || IS(arg->type.name, "double"))) { + arg->type.is_64bit = 1; // hack.. - free(arg->type.name); - arg->type.name = strdup("int"); pp_copy_arg(&pp->arg[xarg], arg); + arg = &pp->arg[xarg]; xarg++; + free(arg->type.name); + arg->type.name = strdup("dummy"); } ret = check_struct_arg(arg);