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
{
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]];
}
{
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,},
#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,},
{""},
#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,},
{""},
{"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)