blob: 549f213e68fdee668739968def1c35a7e8333cf7 [file] [log] [blame]
Manuel Pégourié-Gonnard3385cf42015-04-02 17:59:30 +01001#!/bin/sh
2
3set -eu
4
5HEADERS=$( ls include/mbedtls/*.h | egrep -v 'compat-1.2|openssl|bn_mul' )
6
7rm -f identifiers
8
9grep '^[^ /#{]' $HEADERS | \
10 sed -e 's/^[^:]*://' | \
11 egrep -v '^(extern "C"|(typedef )?(struct|enum)( {)?$|};?$)' \
12 > _decls
13
14if true; then
15sed -n -e 's/.* \**\([a-zA-Z_][a-zA-Z0-9_]*\)(.*/\1/p' \
16 -e 's/.*(\*\(.*\))(.*/\1/p' _decls
17grep -v '(' _decls | sed -e 's/\([a-zA-Z0-9_]*\)[;[].*/\1/' -e 's/.* \**//'
18fi > _identifiers
19
20if [ $( wc -l < _identifiers ) -eq $( wc -l < _decls ) ]; then
21 rm _decls
22 egrep -v '^(u?int(16|32|64)_t)$' _identifiers | sort > identifiers
23 rm _identifiers
24else
25 echo "Mismatch" 2>&1
26 exit 1
27fi
28
29wc -l identifiers