summaryrefslogtreecommitdiffstats
path: root/gdb-bt-reformat
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2013-02-13 23:00:01 +0100
committerJan Pokorný <jpokorny@redhat.com>2013-02-13 23:00:01 +0100
commitb84f814cd4d92f43a1c2595afec872fb3d7634eb (patch)
tree3772d6ac39b0a611df3a5b5a3e9a8686e6092865 /gdb-bt-reformat
parent0b4aa1eba90f7070daff2865e8f09cfdf4c890bb (diff)
downloadgdb-bt-reformat-b84f814cd4d92f43a1c2595afec872fb3d7634eb.tar.gz
gdb-bt-reformat-b84f814cd4d92f43a1c2595afec872fb3d7634eb.tar.xz
gdb-bt-reformat-b84f814cd4d92f43a1c2595afec872fb3d7634eb.zip
Handle numeric (non-hex) function arguments correctly
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'gdb-bt-reformat')
-rwxr-xr-xgdb-bt-reformat7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb-bt-reformat b/gdb-bt-reformat
index 30005eb..6bb31cb 100755
--- a/gdb-bt-reformat
+++ b/gdb-bt-reformat
@@ -9,15 +9,16 @@ import textwrap
DEF_IDENT = '[A-Za-z_][A-Za-z0-9_]*'
DEF_UNKNOWN = '[?]{2}'
-DEF_HEX = '0x[0-9A-Za-z]+'
+DEF_HEX = '0x[0-9A-Fa-f]+'
+DEF_NUM = '[+-]?(?:[0-9]+(?:[.][0-9]*)?|[.][0-9]+)(?:[eE][0-9]+)?'
DEF_MSG = '[<][ A-Za-z0-9_]+[>]'
DEF_STR = '["][ A-Za-z0-9_]*["]'
-DEF_PATH = '[A-Za-z0-9._/]+'
+DEF_PATH = '[A-Za-z0-9._/-]+'
RE_BT = re.compile(
'(?P<init>^\#[0-9]+\s+)'
'(?:(?P<hex>%(DEF_HEX)s) in )?'
'(?P<where>%(DEF_IDENT)s(?:(?: |::)%(DEF_IDENT)s)*|(?P<unknown>%(DEF_UNKNOWN)s))'
- ' (?P<args>[(](?:(?<=[( ])%(DEF_IDENT)s=(?:%(DEF_IDENT)s|%(DEF_MSG)s|%(DEF_HEX)s|%(DEF_STR)s)(?:, )?)*[)])'
+ ' (?P<args>[(](?:(?<=[( ])%(DEF_IDENT)s=(?:%(DEF_IDENT)s|%(DEF_MSG)s|%(DEF_HEX)s|%(DEF_NUM)s|%(DEF_STR)s)(?:, )?)*[)])'
'(?(unknown)| at (?P<path>%(DEF_PATH)s):(?P<line>[1-9][0-9]*))'
% locals())