- Fixed pointer of function dissection

- Fixed 64bits pointers

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4272 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Cedric Roux
2013-10-24 13:25:56 +00:00
parent fd7dcaf9a5
commit 27637f8ad2
9 changed files with 100 additions and 27 deletions
@@ -206,7 +206,7 @@ int resolve_pointer_type(types_t **head)
if (next_type->type != TYPE_POINTER)
continue;
// printf("Trying to resolve pointer id %d with type %d\n",
// g_debug("Trying to resolve pointer id %d with type %d\n",
// next_type->id, next_type->type_xml);
if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
@@ -299,6 +299,33 @@ int resolve_array(types_t **head)
return 0;
}
int resolve_function(types_t **head)
{
types_t *next_type;
if (!head) {
g_warning("Empty list detected");
return RESOLV_LIST_EMPTY;
}
for (next_type = *head; next_type; next_type = next_type->next)
{
/* Only resolve typedef */
if (next_type->type != TYPE_FUNCTION)
continue;
// g_debug("Trying to resolve function id %d with type %d\n",
// next_type->id, next_type->type_xml);
if (search_id(*head, &next_type->child, next_type->type_xml) != RESOLV_OK) {
/* We have to remove this reference */
}
// next_type->type_hr_display(next_type, 0);
}
return 0;
}
int resolve_file(types_t **head)
{
types_t *next_type;
@@ -17,6 +17,8 @@ int resolve_union(types_t **head);
int resolve_file(types_t **head);
int resolve_function(types_t **head);
int search_file(types_t *head, types_t **found, int id);
#endif /* RESOLVERS_H_ */