notaz.gp2x.de
/
ia32rtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
imm funcs
[ia32rtools.git]
/
tools
/
protoparse.h
diff --git
a/tools/protoparse.h
b/tools/protoparse.h
index
70d02c3
..
ced1a54
100644
(file)
--- a/
tools/protoparse.h
+++ b/
tools/protoparse.h
@@
-23,8
+23,9
@@
struct parsed_proto_arg {
char *reg;
struct parsed_type type;
struct parsed_proto *pp; // fptr or struct
char *reg;
struct parsed_type type;
struct parsed_proto *pp; // fptr or struct
- void *datap;
unsigned int is_saved:1; // not set here, for tool use
unsigned int is_saved:1; // not set here, for tool use
+ void **push_refs;
+ int push_ref_cnt;
};
struct parsed_proto {
};
struct parsed_proto {
@@
-215,6
+216,7
@@
static const char *known_ptr_types[] = {
"HRGN",
"HRSRC",
"HKEY",
"HRGN",
"HRSRC",
"HKEY",
+ "HKL",
"HMENU",
"HMONITOR",
"HWAVEOUT",
"HMENU",
"HMONITOR",
"HWAVEOUT",
@@
-1063,12
+1065,10
@@
static inline void proto_release(struct parsed_proto *pp)
int i;
for (i = 0; i < pp->argc; i++) {
int i;
for (i = 0; i < pp->argc; i++) {
- if (pp->arg[i].reg != NULL)
- free(pp->arg[i].reg);
- if (pp->arg[i].type.name != NULL)
- free(pp->arg[i].type.name);
- if (pp->arg[i].pp != NULL)
- free(pp->arg[i].pp);
+ free(pp->arg[i].reg);
+ free(pp->arg[i].type.name);
+ free(pp->arg[i].pp);
+ free(pp->arg[i].push_refs);
}
if (pp->ret_type.name != NULL)
free(pp->ret_type.name);
}
if (pp->ret_type.name != NULL)
free(pp->ret_type.name);