[CRT] Sync undname.c with Wine Staging 1.7.55. CORE-10536

svn path=/trunk/; revision=70185
This commit is contained in:
Amine Khaldi 2015-11-28 16:33:35 +00:00
parent e927e91575
commit f9c372f1d4
2 changed files with 25 additions and 25 deletions

View file

@ -34,7 +34,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
*/
/* 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 "
@ -48,7 +48,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
* in data fields:
* same as for arguments and also the following
* ?<M>x {<M>}x
*
*
*/
struct array
@ -110,7 +110,7 @@ static void* und_alloc(struct parsed_symbol* sym, unsigned int len)
sym->avail_in_first = 0;
ptr = (char*)sym->alloc_list + sizeof(void*);
}
else
else
{
if (len > sym->avail_in_first)
{
@ -188,7 +188,7 @@ static BOOL str_array_push(struct parsed_symbol* sym, const char* ptr, int len,
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;
@ -217,18 +217,18 @@ static char* str_array_get_ref(struct array* cref, unsigned idx)
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, 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, ...)
@ -341,7 +341,7 @@ static const char* get_number(struct parsed_symbol* sym)
* 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)
{
@ -376,8 +376,8 @@ static char* get_args(struct parsed_symbol* sym, struct array* pmt_ref, BOOL z_t
*/
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++)
{
@ -386,12 +386,12 @@ static char* get_args(struct parsed_symbol* sym, struct array* pmt_ref, BOOL z_t
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;
}
@ -730,7 +730,7 @@ static BOOL get_calling_convention(char ch, const char** call_conv,
static const char* get_simple_type(char c)
{
const char* type_string;
switch (c)
{
case 'C': type_string = "signed char"; break;
@ -759,7 +759,7 @@ static const char* get_simple_type(char c)
static const char* get_extended_type(char c)
{
const char* type_string;
switch (c)
{
case 'D': type_string = "__int8"; break;
@ -794,7 +794,7 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
assert(ct);
ct->left = ct->right = NULL;
switch (dt = *sym->current++)
{
case '_':
@ -819,7 +819,7 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
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)
{
@ -867,7 +867,7 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
unsigned mark = sym->stack.num;
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;
@ -876,7 +876,7 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
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);
}
@ -972,7 +972,7 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
return FALSE;
}
done:
return ct->left != NULL;
}
@ -1009,7 +1009,7 @@ static BOOL handle_data(struct parsed_symbol* sym)
case '0': access = "private: "; break;
case '1': access = "protected: "; break;
case '2': access = "public: "; break;
}
}
}
if (!(sym->flags & UNDNAME_NO_MEMBER_TYPE))
@ -1059,8 +1059,8 @@ static BOOL handle_data(struct parsed_symbol* sym)
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:
@ -1530,7 +1530,7 @@ char* CDECL __unDNameEx(char* buffer, const char* mangled, int buflen,
TRACE("(%p,%s,%d,%p,%p,%p,%x)\n",
buffer, 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)

View file

@ -289,7 +289,7 @@ msvcrt -
reactos/lib/sdk/crt/string/strtoul.c # Synced to WineStaging-1.7.37
reactos/lib/sdk/crt/strings/wcs.c # Synced at 20080611
reactos/lib/sdk/crt/wine/heap.c # Synced at 20080529
reactos/lib/sdk/crt/wine/undname.c # Synced at 20081130
reactos/lib/sdk/crt/wine/undname.c # Synced to WineStaging-1.7.55
reactos/lib/sdk/crt/thread/thread.c # Synced at 20080604
User32 -