aboutsummaryrefslogtreecommitdiff
path: root/tools/autodebugger_c.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/autodebugger_c.py')
-rw-r--r--tools/autodebugger_c.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/autodebugger_c.py b/tools/autodebugger_c.py
index 5d41faf0..54a4d691 100644
--- a/tools/autodebugger_c.py
+++ b/tools/autodebugger_c.py
@@ -21,9 +21,13 @@ for filename in filenames:
if m and (' if ' not in lines[i-1] or '{' in lines[i-1]) and \
(' if ' not in lines[i+1] or '{' in lines[i+1]) and \
(' else' not in lines[i-1] or '{' in lines[i-1]) and \
- (' else' not in lines[i+1] or '{' in lines[i+1]):
- var = m.groups(1)[0].rstrip().split(' ')[-1]
- lines[i] += ''' printf("%s:%d:%s=%%d\\n", %s);''' % (filename, i+1, var, var)
+ (' else' not in lines[i+1] or '{' in lines[i+1]) and \
+ (' for' not in lines[i-1]) and \
+ ('struct' not in lines[i]):
+ raw = m.groups(1)[0].rstrip()
+ var = raw.split(' ')[-1]
+ if ' ' in raw and '[' in var: continue
+ lines[i] += ''' printf("%s:%d:%s=%%d\\n", (int)%s);''' % (filename, i+1, var, var)
f = open(filename, 'w')
f.write('\n'.join(lines))