|  | #!/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 |