Module: wine Branch: refs/heads/master Commit: 964cbcbf80198824f03c5e3dc2de262f8095578c URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=964cbcbf80198824f03c5e3d...
Author: Francois Gouget fgouget@free.fr Date: Wed May 10 18:53:41 2006 +0200
winapi_check: Fix 'long int' parsing.
Fix parsing of 'long int'. Simplify handling of spaces in a couple of regular expressions.
---
tools/winapi/winapi_parser.pm | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/winapi/winapi_parser.pm b/tools/winapi/winapi_parser.pm index e9bcfda..2260c4f 100644 --- a/tools/winapi/winapi_parser.pm +++ b/tools/winapi/winapi_parser.pm @@ -426,13 +426,13 @@ sub parse_c_file($$) {
$argument =~ s/^\s*(.*?)\s*$/$1/; # print " " . ($n + 1) . ": '$argument'\n"; - $argument =~ s/^(IN OUT(?=\s)|IN(?=\s)|OUT(?=\s)|\s*)\s*//; - $argument =~ s/^(const(?=\s)|CONST(?=\s)|volatile(?=\s)|\s*)\s*//; + $argument =~ s/^(?:IN OUT|IN|OUT)?\s+//; + $argument =~ s/^(?:const|CONST|volatile)?\s+//; if($argument =~ /^...$/) { $argument_type = "..."; $argument_name = "..."; } elsif($argument =~ /^ - ((?:interface\s+|struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+) + ((?:interface\s+|struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+)? (?:short\s+(?=int)|long\s+(?=int))?)?(?:\w+|ElfW(\w+)|WS(\w+)))\s* ((?:__RPC_FAR|const|CONST|volatile)?\s*(?:*\s*(?:__RPC_FAR|const|CONST|volatile)?\s*?)*)\s* (\w*)\s*([])?(?:\s+OPTIONAL)?$/x) @@ -446,7 +446,7 @@ sub parse_c_file($$) { } $argument_name = $3; } elsif ($argument =~ /^ - ((?:interface\s+|struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+) + ((?:interface\s+|struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+)? (?:short\s+(?=int)|long\s+(?=int))?)?\w+)\s* ((?:const|volatile)?\s*(?:*\s*(?:const|volatile)?\s*?)*)\s* (?:__cdecl\s+|__stdcall\s+|__RPC_STUB\s+|__RPC_USER\s+|CALLBACK\s+|CDECL\s+|NET_API_FUNCTION\s+|RPC_ENTRY\s+|STDMETHODCALLTYPE\s+|VFWAPIV\s+|VFWAPI\s+|WINAPIV\s+|WINAPI\s+)?