summaryrefslogtreecommitdiff
path: root/sample/mkproto.rb
diff options
context:
space:
mode:
Diffstat (limited to 'sample/mkproto.rb')
-rw-r--r--sample/mkproto.rb24
1 files changed, 12 insertions, 12 deletions
diff --git a/sample/mkproto.rb b/sample/mkproto.rb
index 754ca2dff2..e650fe8d47 100644
--- a/sample/mkproto.rb
+++ b/sample/mkproto.rb
@@ -1,24 +1,24 @@
$/ = nil
while line = gets()
- if /^((void|VALUE|int|char *\*|ID|struct [\w_]+ *\*|st_table *\*) *)?\n([\w\d_]+)\(.*\)\n\s*((.+;\n)*)\{/ =~ line
+ if /^((void|VALUE|int|char *\*|ID|struct \w+ *\*|st_table *\*) *)?\n(\w+)\(.*\)\n\s*((.+;\n)*)\{/ =~ line
line = $'
printf "%s %s(", $2, $3
args = []
for arg in $4.split(/;\n\s*/)
arg.gsub!(/ +/, ' ')
if arg =~ /,/
- if arg =~ /(([^*]+) *\** *[\w\d_]+),/
- type = $2.strip
- args.push $1.strip
- arg = $'
- else
- type = ""
- end
- while arg.sub!(/(\** *[\w\d_]+)(,|$)/, "") && $~
- args.push type + " " + $1.strip
- end
+ if arg =~ /(([^*]+) *\** *\w+),/
+ type = $2.strip
+ args.push $1.strip
+ arg = $'
+ else
+ type = ""
+ end
+ while arg.sub!(/(\** *\w+)(,|$)/, "") && $~
+ args.push type + " " + $1.strip
+ end
else
- args.push arg.strip
+ args.push arg.strip
end
end
printf "%s);\n", args.join(', ')