white = re.compile(r'^\s+')
cppcomment = re.compile(r'\/\/.*$')
+headerdirect = []
cppdirect = []
# Holds everything that makes a struct
cppdirect.append(line)
continue
+ if re.match(r'^#define', line):
+ headerdirect.append(line)
+ continue
+
if not re.match(r'^struct %s {$' % _STRUCT_RE,
line, re.IGNORECASE):
print >>sys.stderr, 'Missing struct on line %d: %s' % (
'#ifndef %s\n'
'#define %s\n\n' ) % (
name, guard, guard)
+
+ for statement in headerdirect:
+ pre += '%s\n' % statement
+ if headerdirect:
+ pre += '\n'
+
pre += (
'#define EVTAG_HAS(msg, member) ((msg)->member##_set == 1)\n'
'#define EVTAG_ASSIGN(msg, member, args...) '
'#include <assert.h>\n'
'#include <event.h>\n\n' )
- for include in cppdirect:
- pre += '%s\n' % include
+ for statement in cppdirect:
+ pre += '%s\n' % statement
pre += '\n#include "%s"\n\n' % header_file