util/perl/OpenSSL/ParseC.pm: Fix 'extern "C" DEPRECATEDIN_x_y(...)'
authorRichard Levitte <levitte@openssl.org>
Sun, 10 Nov 2019 12:03:15 +0000 (13:03 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 12 Nov 2019 12:30:34 +0000 (13:30 +0100)
The parser expected an 'extern "C"' followed by a single declaration
to always end with a semicolon.  Then came along something like this:

    extern "C" DEPRECATEDIN_3_0(int ERR_load_KDF_strings(void))

This change adjusts the detector of 'extern "C"' to also take in
accound a declaration that ends with a parenthesis.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10368)

util/perl/OpenSSL/ParseC.pm

index 2db43e2a619ac7bda8d8be13320f275c986efa49..392e61faf296b02fd382208af14174148e0e3a5a 100644 (file)
@@ -561,7 +561,7 @@ my @chandlers = (
     # Note that the main parse function has a special hack for 'extern "C" {'
     # which can't be done in handlers
     # We simply ignore it.
-    { regexp   => qr/extern "C" (.*;)/,
+    { regexp   => qr/^extern "C" (.*(?:;|>>>))/,
       massager => sub { return ($1); },
     },
     # any other extern is just ignored