#!/bin/sh | |
# This script verifies that qerror definitions and table entries are | |
# alphabetically ordered. | |
check_order() { | |
errmsg=$1 | |
shift | |
# sort -C verifies order but does not print a message. sort -c does print a | |
# message. These options are both in POSIX. | |
if ! "$@" | sort -C; then | |
echo "$errmsg" | |
"$@" | sort -c | |
exit 1 | |
fi | |
return 0 | |
} | |
check_order 'Definitions in qerror.h must be in alphabetical order:' \ | |
grep '^#define QERR_' qerror.h | |
check_order 'Entries in qerror.c:qerror_table must be in alphabetical order:' \ | |
sed -n '/^static.*qerror_table\[\]/,/^};/s/QERR_/&/gp' qerror.c |