-OPTION options[] = {
- "!", N_NOT, c_not, O_ZERO,
- "(", N_OPENPAREN, c_openparen, O_ZERO,
- ")", N_CLOSEPAREN, c_closeparen, O_ZERO,
- "-a", N_AND, NULL, O_NONE,
- "-and", N_AND, NULL, O_NONE,
- "-atime", N_ATIME, c_atime, O_ARGV,
- "-ctime", N_CTIME, c_ctime, O_ARGV,
- "-depth", N_DEPTH, c_depth, O_ZERO,
- "-exec", N_EXEC, c_exec, O_ARGVP,
- "-follow", N_FOLLOW, c_follow, O_ZERO,
- "-fstype", N_FSTYPE, c_fstype, O_ARGV,
- "-group", N_GROUP, c_group, O_ARGV,
- "-inum", N_INUM, c_inum, O_ARGV,
- "-links", N_LINKS, c_links, O_ARGV,
- "-ls", N_LS, c_ls, O_ZERO,
- "-mtime", N_MTIME, c_mtime, O_ARGV,
- "-name", N_NAME, c_name, O_ARGV,
- "-newer", N_NEWER, c_newer, O_ARGV,
- "-nogroup", N_NOGROUP, c_nogroup, O_ZERO,
- "-nouser", N_NOUSER, c_nouser, O_ZERO,
- "-o", N_OR, c_or, O_ZERO,
- "-ok", N_OK, c_exec, O_ARGVP,
- "-or", N_OR, c_or, O_ZERO,
- "-perm", N_PERM, c_perm, O_ARGV,
- "-print", N_PRINT, c_print, O_ZERO,
- "-prune", N_PRUNE, c_prune, O_ZERO,
- "-size", N_SIZE, c_size, O_ARGV,
- "-type", N_TYPE, c_type, O_ARGV,
- "-user", N_USER, c_user, O_ARGV,
- "-xdev", N_XDEV, c_xdev, O_ZERO,
- { NULL },
+/* NB: the following table must be sorted lexically. */
+static OPTION options[] = {
+ { "!", N_NOT, c_not, O_ZERO },
+ { "(", N_OPENPAREN, c_openparen, O_ZERO },
+ { ")", N_CLOSEPAREN, c_closeparen, O_ZERO },
+ { "-a", N_AND, NULL, O_NONE },
+ { "-and", N_AND, NULL, O_NONE },
+ { "-atime", N_ATIME, c_atime, O_ARGV },
+ { "-ctime", N_CTIME, c_ctime, O_ARGV },
+ { "-depth", N_DEPTH, c_depth, O_ZERO },
+ { "-exec", N_EXEC, c_exec, O_ARGVP },
+ { "-follow", N_FOLLOW, c_follow, O_ZERO },
+ { "-fstype", N_FSTYPE, c_fstype, O_ARGV },
+ { "-group", N_GROUP, c_group, O_ARGV },
+ { "-inum", N_INUM, c_inum, O_ARGV },
+ { "-links", N_LINKS, c_links, O_ARGV },
+ { "-ls", N_LS, c_ls, O_ZERO },
+ { "-mtime", N_MTIME, c_mtime, O_ARGV },
+ { "-name", N_NAME, c_name, O_ARGV },
+ { "-newer", N_NEWER, c_newer, O_ARGV },
+ { "-nogroup", N_NOGROUP, c_nogroup, O_ZERO },
+ { "-nouser", N_NOUSER, c_nouser, O_ZERO },
+ { "-o", N_OR, c_or, O_ZERO },
+ { "-ok", N_OK, c_exec, O_ARGVP },
+ { "-or", N_OR, c_or, O_ZERO },
+ { "-path", N_PATH, c_path, O_ARGV },
+ { "-perm", N_PERM, c_perm, O_ARGV },
+ { "-print", N_PRINT, c_print, O_ZERO },
+ { "-prune", N_PRUNE, c_prune, O_ZERO },
+ { "-size", N_SIZE, c_size, O_ARGV },
+ { "-type", N_TYPE, c_type, O_ARGV },
+ { "-user", N_USER, c_user, O_ARGV },
+ { "-xdev", N_XDEV, c_xdev, O_ZERO },