outlen should be int * in out_utf8.
[openssl.git] / util / mkerr.pl
index f1178602ef780728a80dfc723ca36a3c196561e8..1b2915c7677948b0c48ae7658505f1110b7af467 100644 (file)
@@ -132,16 +132,16 @@ while (($hdr, $lib) = each %libinc)
                my $name = $1;
                $name =~ tr/[a-z]/[A-Z]/;
                $ftrans{$name} = $1;
-           } elsif (/\w+\W+(\w+)\W*\(\s*\)$/s){
+           } elsif (/\w+\W+(\w+)\W*\(\s*\)(\s*__attribute__\(.*\)\s*)?$/s){
                # K&R C
                next ;
-           } elsif (/\w+\W+\w+\W*\(.*\)$/s) {
-               while (not /\(\)$/s) {
-                   s/[^\(\)]*\)$/\)/s;
-                   s/\([^\(\)]*\)\)$/\)/s;
+           } elsif (/\w+\W+\w+\W*\(.*\)(\s*__attribute__\(.*\)\s*)?$/s) {
+               while (not /\(\)(\s*__attribute__\(.*\)\s*)?$/s) {
+                   s/[^\(\)]*\)(\s*__attribute__\(.*\)\s*)?$/\)/s;
+                   s/\([^\(\)]*\)\)(\s*__attribute__\(.*\)\s*)?$/\)/s;
                }
                s/\(void\)//;
-               /(\w+)\W*\(\)/s;
+               /(\w+(\{[0-9]+\})?)\W*\(\)/s;
                my $name = $1;
                $name =~ tr/[a-z]/[A-Z]/;
                $ftrans{$name} = $1;