#ifndef CCAN_OPT_H
#define CCAN_OPT_H
+#include <ccan/compiler/compiler.h>
#include <ccan/typesafe_cb/typesafe_cb.h>
#include <stdbool.h>
+#include <stdlib.h>
struct opt_table;
*
* This must be the final element in the opt_table array.
*/
-#define OPT_ENDTABLE { NULL, OPT_END }
+#define OPT_ENDTABLE { NULL, OPT_END, NULL, NULL, NULL, NULL, NULL }
/**
* opt_register_table - register a table of options
*/
bool opt_parse(int *argc, char *argv[], void (*errlog)(const char *fmt, ...));
+/**
+ * opt_free_table - free the table.
+ *
+ * This frees the internal memory. Call this as the last
+ * opt function.
+ */
+void opt_free_table(void);
+
/**
* opt_log_stderr - print message to stderr.
* @fmt: printf-style format.
void *arg, const char *desc);
/* We use this to get typechecking for OPT_SUBTABLE */
-static inline int _check_is_entry(struct opt_table *e) { return 0; }
+static inline int _check_is_entry(struct opt_table *e UNUSED) { return 0; }
#endif /* CCAN_OPT_H */