]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb/tools/keywords.c
tdb: fix test helper to include own header, fix function definition.
[ccan] / ccan / tdb / tools / keywords.c
index ea0a854a33a55c11a72af68cac529069fb3b81b0..a238d5f5e40b4f45fb9cab6e6feba74959afe4f8 100644 (file)
 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, 15, 51, 25,
-       5,  0, 10,  0,  0, 51, 51,  0,  0,  0,
-      15, 51, 15, 51, 51,  0,  5,  0, 51,  0,
-      51, 15, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-      51, 51, 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,18 +93,18 @@ find_keyword (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 32,
+      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"
-      {"traverse", OP_TDB_TRAVERSE, op_add_key_data,},
+#line 44 "keywords.gperf"
+      {"traverse", OP_TDB_TRAVERSE, op_add_traverse,},
 #line 33 "keywords.gperf"
       {"tdb_store", OP_TDB_STORE, op_add_store,},
 #line 32 "keywords.gperf"
@@ -112,20 +112,21 @@ 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 35 "keywords.gperf"
-      {"tdb_get_seqnum", OP_TDB_GET_SEQNUM, op_add_seqnum,},
-#line 47 "keywords.gperf"
+#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 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 46 "keywords.gperf"
-      {"tdb_fetch", OP_TDB_FETCH, op_add_key_data,},
+#line 35 "keywords.gperf"
+      {"tdb_get_seqnum", OP_TDB_GET_SEQNUM, op_add_seqnum,},
 #line 19 "keywords.gperf"
       {"tdb_lockall_nonblock", OP_TDB_LOCKALL_NONBLOCK, op_add_nothing,},
 #line 21 "keywords.gperf"
@@ -136,34 +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"
-      {"tdb_traverse_start", OP_TDB_TRAVERSE_START, op_add_traverse,},
+#line 42 "keywords.gperf"
+      {"tdb_traverse_start", OP_TDB_TRAVERSE_START, op_add_traverse_start,},
       {""},
-#line 34 "keywords.gperf"
-      {"tdb_append", OP_TDB_APPEND, op_add_append,},
+#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 41 "keywords.gperf"
+      {"tdb_traverse_read_start", OP_TDB_TRAVERSE_READ_START, op_add_traverse_start,},
+      {""},
+#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_traverse_read_start", OP_TDB_TRAVERSE_READ_START, op_add_traverse,},
-      {""}, {""},
+      {"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 44 "keywords.gperf"
-      {"tdb_firstkey", OP_TDB_FIRSTKEY, op_add_key,},
+      {""},
 #line 24 "keywords.gperf"
-      {"tdb_chainlock", OP_TDB_CHAINLOCK, op_add_key,},
+      {"tdb_chainlock", OP_TDB_CHAINLOCK, op_add_chainlock,},
       {""},
 #line 28 "keywords.gperf"
-      {"tdb_chainunlock", OP_TDB_CHAINUNLOCK, op_add_key,},
-#line 45 "keywords.gperf"
-      {"tdb_nextkey", OP_TDB_NEXTKEY, op_add_key_data,},
-      {""},
+      {"tdb_chainunlock", OP_TDB_CHAINUNLOCK, op_analyze_chainlock,},
+      {""}, {""},
 #line 26 "keywords.gperf"
       {"tdb_chainlock_mark", OP_TDB_CHAINLOCK_MARK, op_add_key,},
       {""},
@@ -171,12 +176,15 @@ find_keyword (register const char *str, register unsigned int len)
       {"tdb_chainlock_unmark", OP_TDB_CHAINLOCK_UNMARK, op_add_key,},
       {""},
 #line 25 "keywords.gperf"
-      {"tdb_chainlock_nonblock", OP_TDB_CHAINLOCK_NONBLOCK, op_add_key_ret,},
+      {"tdb_chainlock_nonblock", OP_TDB_CHAINLOCK_NONBLOCK, op_add_chainlock_ret,},
 #line 29 "keywords.gperf"
-      {"tdb_chainlock_read", OP_TDB_CHAINLOCK_READ, 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_add_key,}
+      {"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)