summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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())