aboutsummaryrefslogtreecommitdiff
path: root/harness/tools/genbuild.pl
diff options
context:
space:
mode:
Diffstat (limited to 'harness/tools/genbuild.pl')
-rw-r--r--harness/tools/genbuild.pl27
1 files changed, 18 insertions, 9 deletions
diff --git a/harness/tools/genbuild.pl b/harness/tools/genbuild.pl
index 7020e81..1acabc0 100644
--- a/harness/tools/genbuild.pl
+++ b/harness/tools/genbuild.pl
@@ -24,15 +24,24 @@ print " plug->state = NULL;\n";
print " plug->library_handle = dl;\n";
print "\n";
while (<>) {
- if (/^\s*EXPORT\(\s*((?:\w|\s*\*\s*)+)\s*\(\*(\w+)\)\s*\((.*)\)\);/) {
- print "\n";
- print " ptr = dlsym(dl, \"$2\");\n";
- print " if (!ptr) {\n";
- print " fprintf(stderr, \"Plugin missing %s\\n\", \"$2\");\n";
- print " ret |= 1;\n";
- print " }\n";
- print " plug->$2 = ptr;\n";
- $comment="";
+ if (/^\s*EXPORT/) {
+ my $line = "$_";
+ while (not ($line =~ /;$/)) {
+ my $nextline = <STDIN>;
+ last unless defined $nextline;
+
+ $line="$line$nextline";
+ }
+ if ($line =~ /^\s*EXPORT\(\s*((?:\w|\s*\*\s*)+)\s*\(\*(\w+)\)\s*\((.*)\)\);/s) {
+ print "\n";
+ print " ptr = dlsym(dl, \"$2\");\n";
+ print " if (!ptr) {\n";
+ print " fprintf(stderr, \"Plugin missing %s\\n\", \"$2\");\n";
+ print " ret |= 1;\n";
+ print " }\n";
+ print " plug->$2 = ptr;\n";
+ $comment="";
+ }
}
}
print "\n return ret;\n";