23 lines
635 B
Bash
23 lines
635 B
Bash
|
#!/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
|