http://bugs.winehq.org/show_bug.cgi?id=19210
Summary: expr_alloc_uconstant() is not used Product: Wine Version: 1.1.25 Platform: All OS/Version: All Status: NEW Keywords: source, winelib Severity: normal Priority: P2 Component: winedbg AssignedTo: wine-bugs@winehq.org ReportedBy: fgouget@codeweavers.com
programs/winedbg/expr.c defines both an expr_alloc_sconstant() and an expr_alloc_uconstant() function. However:
* expr_alloc_uconstant() is not used anywhere. So at first sight it should be removed. * But expr_alloc_sconstant() is used to allocate tNUM constant which, as far as I can see, are unsigned constants. * expr_alloc_sconstant() is used nowhere else.
So something is wrong there. This is also related to EXPR_TYPE_U_CONST vs. EXPR_TYPE_S_CONST.
Possible fixes: * Modify the lexer to only return unsigned constants (since that's all it can match), and then get rid of expr_alloc_sconstant() and EXPR_TYPE_S_CONST. * Modify the lexer to return both signed and unsigned constants as appropriate.
In either case it will likely require modifications in the expression computation package as it only knows how to deal with signed integers.
See also this thread: http://www.winehq.org/pipermail/wine-devel/2009-January/072074.html