summaryrefslogtreecommitdiff
path: root/scripts/check-qerror.sh
blob: af7fbd52490e6ffa45303bee9fc76d241fa52ff9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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