wine/programs/winedbg symbol.c
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Nov 17 05:04:40 CST 2005
ChangeSet ID: 21305
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/17 05:04:39
Modified files:
programs/winedbg: symbol.c
Log message:
Eric Pouech <eric.pouech at wanadoo.fr>
When a symbol name already contains a module name, we shouldn't search
in other modules.
Patch: http://cvs.winehq.org/patch.py?id=21305
Old revision New revision Changes Path
1.8 1.9 +24 -5 wine/programs/winedbg/symbol.c
Index: wine/programs/winedbg/symbol.c
diff -u -p wine/programs/winedbg/symbol.c:1.8 wine/programs/winedbg/symbol.c:1.9
--- wine/programs/winedbg/symbol.c:1.8 17 Nov 2005 11: 4:39 -0000
+++ wine/programs/winedbg/symbol.c 17 Nov 2005 11: 4:39 -0000
@@ -232,9 +232,16 @@ enum sym_get_lval symbol_get_lvalue(cons
sgv.bp_disp = bp_disp ? TRUE : FALSE;
sgv.do_thunks = DBG_IVAR(AlwaysShowThunks);
- buffer[0] = '*';
- buffer[1] = '!';
- strcpy(&buffer[2], name);
+ if (strchr(name, '!'))
+ {
+ strcpy(buffer, name);
+ }
+ else
+ {
+ buffer[0] = '*';
+ buffer[1] = '!';
+ strcpy(&buffer[2], name);
+ }
/* this is a wine specific options to return also ELF modules in the
* enumeration
@@ -248,8 +255,20 @@ enum sym_get_lval symbol_get_lvalue(cons
if (!sgv.num && (name[0] != '_'))
{
- buffer[2] = '_';
- strcpy(&buffer[3], name);
+ char* ptr = strchr(name, '!');
+
+ if (ptr++)
+ {
+ memmove(ptr + 1, ptr, strlen(ptr));
+ *ptr = '_';
+ }
+ else
+ {
+ buffer[0] = '*';
+ buffer[1] = '!';
+ buffer[2] = '_';
+ strcpy(&buffer[3], name);
+ }
if (!SymEnumSymbols(dbg_curr_process->handle, 0, buffer, sgv_cb, (void*)&sgv))
{
SymSetOptions(opt);
More information about the wine-cvs
mailing list