X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb%2Ftools%2Fkeywords.c;h=a238d5f5e40b4f45fb9cab6e6feba74959afe4f8;hp=461a61e7df156f8a916bc069613f3d3694240177;hb=233e3055c46ba2ed8fea326ac40ea0545eb0444f;hpb=83a913021888d6ec2686bf89f69967639b915bc4 diff --git a/ccan/tdb/tools/keywords.c b/ccan/tdb/tools/keywords.c index 461a61e7..a238d5f5 100644 --- a/ccan/tdb/tools/keywords.c +++ b/ccan/tdb/tools/keywords.c @@ -35,10 +35,10 @@ struct op_table { const char *name; enum op_type type; - void (*enhance_op)(const char *filename, - struct op op[], unsigned int op_num, char *words[]); + void (*enhance_op)(char *filename[], struct op op[], + unsigned file, unsigned op_num, char *words[]); }; -/* maximum key range = 43, duplicates = 0 */ +/* maximum key range = 53, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -52,32 +52,32 @@ hash_keyword (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 20, 51, 25, - 5, 0, 0, 5, 5, 51, 51, 0, 0, 0, - 20, 51, 20, 51, 51, 0, 5, 0, 51, 0, - 51, 5, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51 + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 45, 61, 30, + 5, 0, 0, 5, 5, 61, 61, 0, 0, 0, + 20, 61, 20, 61, 25, 0, 5, 0, 61, 0, + 61, 5, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61 }; return len + asso_values[(unsigned char)str[4]] + asso_values[(unsigned char)str[len - 1]]; } @@ -93,17 +93,17 @@ find_keyword (register const char *str, register unsigned int len) { enum { - TOTAL_KEYWORDS = 33, + TOTAL_KEYWORDS = 35, MIN_WORD_LENGTH = 8, - MAX_WORD_LENGTH = 25, + MAX_WORD_LENGTH = 30, MIN_HASH_VALUE = 8, - MAX_HASH_VALUE = 50 + MAX_HASH_VALUE = 60 }; static const struct op_table wordlist[] = { {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 43 "keywords.gperf" +#line 44 "keywords.gperf" {"traverse", OP_TDB_TRAVERSE, op_add_traverse,}, #line 33 "keywords.gperf" {"tdb_store", OP_TDB_STORE, op_add_store,}, @@ -112,16 +112,16 @@ find_keyword (register const char *str, register unsigned int len) #line 16 "keywords.gperf" {"tdb_lockall", OP_TDB_LOCKALL, op_add_nothing,}, #line 36 "keywords.gperf" - {"tdb_wipe_all", OP_TDB_WIPE_ALL, op_add_nothing,}, + {"tdb_wipe_all", OP_TDB_WIPE_ALL, op_add_wipe_all,}, #line 20 "keywords.gperf" {"tdb_unlockall", OP_TDB_UNLOCKALL, op_add_nothing,}, -#line 47 "keywords.gperf" - {"tdb_fetch", OP_TDB_FETCH, op_add_key_data,}, #line 48 "keywords.gperf" + {"tdb_fetch", OP_TDB_FETCH, op_add_key_data,}, +#line 49 "keywords.gperf" {"tdb_delete", OP_TDB_DELETE, op_add_key_ret,}, #line 17 "keywords.gperf" {"tdb_lockall_mark", OP_TDB_LOCKALL_MARK, op_add_nothing,}, -#line 45 "keywords.gperf" +#line 46 "keywords.gperf" {"tdb_firstkey", OP_TDB_FIRSTKEY, op_add_key,}, #line 18 "keywords.gperf" {"tdb_lockall_unmark", OP_TDB_LOCKALL_UNMARK, op_add_nothing,}, @@ -137,35 +137,38 @@ find_keyword (register const char *str, register unsigned int len) {""}, #line 22 "keywords.gperf" {"tdb_lockall_read_nonblock", OP_TDB_LOCKALL_READ_NONBLOCK, op_add_nothing,}, -#line 42 "keywords.gperf" +#line 43 "keywords.gperf" {"tdb_traverse_end", OP_TDB_TRAVERSE_END, op_analyze_traverse,}, #line 38 "keywords.gperf" {"tdb_transaction_cancel", OP_TDB_TRANSACTION_CANCEL, op_analyze_transaction,}, -#line 41 "keywords.gperf" +#line 42 "keywords.gperf" {"tdb_traverse_start", OP_TDB_TRAVERSE_START, op_add_traverse_start,}, {""}, -#line 44 "keywords.gperf" +#line 45 "keywords.gperf" {"traversefn", OP_TDB_TRAVERSE, op_add_traversefn,}, #line 37 "keywords.gperf" {"tdb_transaction_start", OP_TDB_TRANSACTION_START, op_add_transaction,}, #line 39 "keywords.gperf" {"tdb_transaction_commit", OP_TDB_TRANSACTION_COMMIT, op_analyze_transaction,}, -#line 40 "keywords.gperf" +#line 41 "keywords.gperf" {"tdb_traverse_read_start", OP_TDB_TRAVERSE_READ_START, op_add_traverse_start,}, {""}, -#line 34 "keywords.gperf" - {"tdb_append", OP_TDB_APPEND, op_add_append,}, -#line 46 "keywords.gperf" +#line 50 "keywords.gperf" + {"tdb_repack", OP_TDB_REPACK, op_add_nothing,}, +#line 47 "keywords.gperf" {"tdb_nextkey", OP_TDB_NEXTKEY, op_add_key_data,}, + {""}, {""}, {""}, +#line 40 "keywords.gperf" + {"tdb_transaction_prepare_commit", OP_TDB_TRANSACTION_PREPARE_COMMIT, op_add_nothing,}, +#line 31 "keywords.gperf" + {"tdb_parse_record", OP_TDB_PARSE_RECORD, op_add_key_ret,}, {""}, #line 24 "keywords.gperf" {"tdb_chainlock", OP_TDB_CHAINLOCK, op_add_chainlock,}, {""}, #line 28 "keywords.gperf" {"tdb_chainunlock", OP_TDB_CHAINUNLOCK, op_analyze_chainlock,}, -#line 31 "keywords.gperf" - {"tdb_parse_record", OP_TDB_PARSE_RECORD, op_add_key_ret,}, - {""}, + {""}, {""}, #line 26 "keywords.gperf" {"tdb_chainlock_mark", OP_TDB_CHAINLOCK_MARK, op_add_key,}, {""}, @@ -178,7 +181,10 @@ find_keyword (register const char *str, register unsigned int len) {"tdb_chainlock_read", OP_TDB_CHAINLOCK_READ, op_add_chainlock,}, {""}, #line 30 "keywords.gperf" - {"tdb_chainunlock_read", OP_TDB_CHAINUNLOCK_READ, op_analyze_chainlock,} + {"tdb_chainunlock_read", OP_TDB_CHAINUNLOCK_READ, op_analyze_chainlock,}, + {""}, {""}, {""}, {""}, +#line 34 "keywords.gperf" + {"tdb_append", OP_TDB_APPEND, op_add_append,} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)