*/
/* How data types modifiers are stored:
- * M (in the following definitions) is defined for
+ * M (in the following definitions) is defined for
* 'A', 'B', 'C' and 'D' as follows
* {<A>}: ""
* {<B>}: "const "
* in data fields:
* same as for arguments and also the following
* ?<M>x {<M>}x
- *
+ *
*/
struct array
sym->avail_in_first = 0;
ptr = (char*)sym->alloc_list + sizeof(void*);
}
- else
+ else
{
if (len > sym->avail_in_first)
{
a->elts[a->num] = und_alloc(sym, len + 1);
assert(a->elts[a->num]);
memcpy(a->elts[a->num], ptr, len);
- a->elts[a->num][len] = '\0';
+ a->elts[a->num][len] = '\0';
if (++a->num >= a->max) a->max = a->num;
{
int i;
assert(cref);
if (cref->start + idx >= cref->max)
{
- WARN("Out of bounds: %p %d + %d >= %d\n",
+ WARN("Out of bounds: %p %d + %d >= %d\n",
cref, cref->start, idx, cref->max);
return NULL;
}
- TRACE("Returning %p[%d] => %s\n",
+ TRACE("Returning %p[%d] => %s\n",
cref, idx, debugstr_a(cref->elts[cref->start + idx]));
return cref->elts[cref->start + idx];
}
/******************************************************************
* str_printf
- * Helper for printf type of command (only %s and %c are implemented)
+ * Helper for printf type of command (only %s and %c are implemented)
* while dynamically allocating the buffer
*/
static char* str_printf(struct parsed_symbol* sym, const char* format, ...)
* Parses a list of function/method arguments, creates a string corresponding
* to the arguments' list.
*/
-static char* get_args(struct parsed_symbol* sym, struct array* pmt_ref, BOOL z_term,
+static char* get_args(struct parsed_symbol* sym, struct array* pmt_ref, BOOL z_term,
char open_char, char close_char)
{
*/
if (z_term && *sym->current++ != 'Z') return NULL;
- if (arg_collect.num == 0 ||
- (arg_collect.num == 1 && !strcmp(arg_collect.elts[0], "void")))
+ if (arg_collect.num == 0 ||
+ (arg_collect.num == 1 && !strcmp(arg_collect.elts[0], "void")))
return str_printf(sym, "%cvoid%c", open_char, close_char);
for (i = 1; i < arg_collect.num; i++)
{
last = args_str ? args_str : arg_collect.elts[0];
if (close_char == '>' && last[strlen(last) - 1] == '>')
- args_str = str_printf(sym, "%c%s%s %c",
+ args_str = str_printf(sym, "%c%s%s %c",
open_char, arg_collect.elts[0], args_str, close_char);
else
- args_str = str_printf(sym, "%c%s%s%c",
+ args_str = str_printf(sym, "%c%s%s%c",
open_char, arg_collect.elts[0], args_str, close_char);
-
+
return args_str;
}
static const char* get_simple_type(char c)
{
const char* type_string;
-
+
switch (c)
{
case 'C': type_string = "signed char"; break;
static const char* get_extended_type(char c)
{
const char* type_string;
-
+
switch (c)
{
case 'D': type_string = "__int8"; break;
assert(ct);
ct->left = ct->right = NULL;
-
+
switch (dt = *sym->current++)
{
case '_':
if (!(struct_name = get_class_name(sym)))
goto done;
- if (!(sym->flags & UNDNAME_NO_COMPLEX_TYPE))
+ if (!(sym->flags & UNDNAME_NO_COMPLEX_TYPE))
{
switch (dt)
{
sym->current++;
if (!get_calling_convention(*sym->current++,
- &call_conv, &exported,
+ &call_conv, &exported,
sym->flags & ~UNDNAME_NO_ALLOCATION_LANGUAGE) ||
!demangle_datatype(sym, &sub_ct, pmt_ref, FALSE))
goto done;
if (!args) goto done;
sym->stack.num = mark;
- ct->left = str_printf(sym, "%s%s (%s*",
+ ct->left = str_printf(sym, "%s%s (%s*",
sub_ct.left, sub_ct.right, call_conv);
ct->right = str_printf(sym, ")%s", args);
}
return FALSE;
}
done:
-
+
return ct->left != NULL;
}
case '0': access = "private: "; break;
case '1': access = "protected: "; break;
case '2': access = "public: "; break;
- }
+ }
}
if (!(sym->flags & UNDNAME_NO_MEMBER_TYPE))
if (sym->flags & UNDNAME_NAME_ONLY) ct.left = ct.right = modifier = NULL;
sym->result = str_printf(sym, "%s%s%s%s%s%s%s%s", access,
- member_type, ct.left,
- modifier && ct.left ? " " : NULL, modifier,
+ member_type, ct.left,
+ modifier && ct.left ? " " : NULL, modifier,
modifier || ct.left ? " " : NULL, name, ct.right);
ret = TRUE;
done:
TRACE("(%p,%s,%d,%p,%p,%p,%x)\n",
buffer, debugstr_a(mangled), buflen, memget, memfree, unknown, flags);
-
+
/* The flags details is not documented by MS. However, it looks exactly
* like the UNDNAME_ manifest constants from imagehlp.h and dbghelp.h
* So, we copied those (on top of the file)